From a6708d55ccb86e9d68bbaf20dd8a7254950678b5 Mon Sep 17 00:00:00 2001 From: anonymoususer72041 <247563575+anonymoususer72041@users.noreply.github.com> Date: Wed, 6 May 2026 13:09:30 +0200 Subject: [PATCH 01/12] Move legacy OpenCATS application into legacy directory --- .gitignore => legacy/.gitignore | 3 +++ .htaccess => legacy/.htaccess | 0 Error.tpl => legacy/Error.tpl | 0 QueueCLI.php => legacy/QueueCLI.php | 0 README-testing.md => legacy/README-testing.md | 0 ajax.php => legacy/ajax.php | 0 {ajax => legacy/ajax}/deleteActivity.php | 0 {ajax => legacy/ajax}/editActivity.php | 0 {ajax => legacy/ajax}/getCandidateIdByEmail.php | 0 {ajax => legacy/ajax}/getCandidateIdByPhone.php | 0 {ajax => legacy/ajax}/getCompanyContacts.php | 0 {ajax => legacy/ajax}/getCompanyLocation.php | 0 .../ajax}/getCompanyLocationAndDepartments.php | 0 {ajax => legacy/ajax}/getCompanyNames.php | 0 {ajax => legacy/ajax}/getDataGridPager.php | 0 {ajax => legacy/ajax}/getDataItemJobOrders.php | 0 {ajax => legacy/ajax}/getParsedAddress.php | 0 {ajax => legacy/ajax}/getPipelineDetails.php | 0 {ajax => legacy/ajax}/getPipelineJobOrder.php | 0 {ajax => legacy/ajax}/getReportHTML.php | 0 {ajax => legacy/ajax}/replaceTemplateTags.php | 0 .../ajax}/setCandidateJobOrderRating.php | 0 {ajax => legacy/ajax}/setColumnWidth.php | 0 {ajax => legacy/ajax}/showTemplate.php | 0 {ajax => legacy/ajax}/testEmailSettings.php | 0 {ajax => legacy/ajax}/zipLookup.php | 0 {careers => legacy/careers}/.htaccess | 0 {careers => legacy/careers}/index.php | 0 careersPage.css => legacy/careersPage.css | 0 composer.json => legacy/composer.json | 0 composer.lock => legacy/composer.lock | 0 config.php => legacy/config.php | 0 constants.php => legacy/constants.php | 0 {db => legacy/db}/cats_schema.sql | 0 {db => legacy/db}/cats_testdata.bak | Bin {db => legacy/db}/upgrade-0.5.0-0.5.1.sql | 0 {db => legacy/db}/upgrade-0.5.1-0.5.2.sql | 0 {db => legacy/db}/upgrade-0.5.2-0.5.5.sql | 0 {db => legacy/db}/upgrade-0.5.5-0.6.x.sql | 0 {db => legacy/db}/upgrade-0.6.x-0.7.0.sql | 0 {db => legacy/db}/upgrade-0.9.4-0.9.5.sql | 0 {db => legacy/db}/upgrade-zipcodes.sql | 0 {docker => legacy/docker}/docker-compose-test.yml | 0 {docker => legacy/docker}/docker-compose.yml | 0 ie.css => legacy/ie.css | 0 {images => legacy/images}/CATS-powered.gif | Bin {images => legacy/images}/CATS-sig.gif | Bin {images => legacy/images}/actions/add.gif | Bin {images => legacy/images}/actions/add_contact.gif | Bin {images => legacy/images}/actions/add_job_order.gif | Bin {images => legacy/images}/actions/add_small.gif | Bin .../images}/actions/add_to_pipeline.gif | Bin {images => legacy/images}/actions/blank.gif | Bin {images => legacy/images}/actions/check_all.gif | Bin {images => legacy/images}/actions/delete.gif | Bin {images => legacy/images}/actions/delete_small.gif | Bin {images => legacy/images}/actions/duplicates.png | Bin {images => legacy/images}/actions/edit.gif | Bin {images => legacy/images}/actions/email.gif | Bin {images => legacy/images}/actions/email_no.gif | Bin {images => legacy/images}/actions/info.gif | Bin {images => legacy/images}/actions/job_order.gif | Bin {images => legacy/images}/actions/print.gif | Bin {images => legacy/images}/actions/screen.gif | Bin {images => legacy/images}/actions/screen_grey.gif | Bin {images => legacy/images}/actions/uncheck_all.gif | Bin {images => legacy/images}/actions/view.gif | Bin {images => legacy/images}/active_tab_gradient.gif | Bin {images => legacy/images}/activities.gif | Bin {images => legacy/images}/applicationLogo.jpg | Bin {images => legacy/images}/arrow_down.gif | Bin {images => legacy/images}/arrow_down.png | Bin {images => legacy/images}/arrow_left_24.gif | Bin {images => legacy/images}/arrow_next.gif | Bin {images => legacy/images}/arrow_next.png | Bin {images => legacy/images}/arrow_right_24.gif | Bin {images => legacy/images}/attachment.gif | Bin {images => legacy/images}/bell.gif | Bin {images => legacy/images}/bgBlue.gif | Bin {images => legacy/images}/bgGrayForm.gif | Bin {images => legacy/images}/blue_check.gif | Bin {images => legacy/images}/blue_gradient.jpg | Bin {images => legacy/images}/bullet_black.gif | Bin {images => legacy/images}/button_bg.gif | Bin {images => legacy/images}/button_bg_down.gif | Bin {images => legacy/images}/calendar.gif | Bin {images => legacy/images}/calendar1_bg.gif | Bin {images => legacy/images}/calendar_add.gif | Bin {images => legacy/images}/candidate.gif | Bin {images => legacy/images}/candidate_inline.gif | Bin {images => legacy/images}/candidate_small.gif | Bin {images => legacy/images}/candidate_tiny.gif | Bin {images => legacy/images}/careers_apply-o.gif | Bin {images => legacy/images}/careers_apply.gif | Bin {images => legacy/images}/careers_arrow.gif | Bin {images => legacy/images}/careers_cats.gif | Bin {images => legacy/images}/careers_populate.gif | Bin {images => legacy/images}/careers_powered.gif | Bin {images => legacy/images}/careers_return-o.gif | Bin {images => legacy/images}/careers_return.gif | Bin {images => legacy/images}/careers_rss-o.gif | Bin {images => legacy/images}/careers_rss.gif | Bin {images => legacy/images}/careers_search-o.gif | Bin {images => legacy/images}/careers_search.gif | Bin {images => legacy/images}/careers_share-o.gif | Bin {images => legacy/images}/careers_share.gif | Bin {images => legacy/images}/careers_show-o.gif | Bin {images => legacy/images}/careers_show.gif | Bin {images => legacy/images}/careers_submit-o.gif | Bin {images => legacy/images}/careers_submit.gif | Bin {images => legacy/images}/cats_icon.gif | Bin {images => legacy/images}/cats_logo.jpg | Bin {images => legacy/images}/cats_small_ad.jpg | Bin {images => legacy/images}/checkbox.gif | Bin {images => legacy/images}/checkbox_blank.gif | Bin {images => legacy/images}/cognizo-logo.jpg | Bin {images => legacy/images}/companies.gif | Bin {images => legacy/images}/consider.gif | Bin {images => legacy/images}/contact.gif | Bin {images => legacy/images}/contact_small.gif | Bin {images => legacy/images}/copyArrow-d.jpg | Bin {images => legacy/images}/copyArrow.jpg | Bin {images => legacy/images}/copyBg-d.jpg | Bin {images => legacy/images}/copyBg.jpg | Bin {images => legacy/images}/copyBottom-d.jpg | Bin {images => legacy/images}/copyBottom.jpg | Bin {images => legacy/images}/copyTemplate.psd | Bin {images => legacy/images}/copyTop-d.jpg | Bin {images => legacy/images}/copyTop.jpg | Bin {images => legacy/images}/cp_add.gif | Bin {images => legacy/images}/cp_back.gif | Bin {images => legacy/images}/cp_delete.gif | Bin {images => legacy/images}/cp_edit.gif | Bin {images => legacy/images}/cp_info.jpg | Bin {images => legacy/images}/cp_listing.jpg | Bin {images => legacy/images}/cp_questionnaire.jpg | Bin {images => legacy/images}/cp_resume.jpg | Bin {images => legacy/images}/cp_save.gif | Bin {images => legacy/images}/cross.gif | Bin {images => legacy/images}/customsearch.jpg | Bin {images => legacy/images}/customsearch2.jpg | Bin .../images}/dashboard_preview/activity.png | Bin .../images}/dashboard_preview/candidates.png | Bin .../images}/dashboard_preview/image.png | Bin .../images}/dashboard_preview/joborders.png | Bin .../images}/dashboard_preview/pipeline.png | Bin .../images}/dashboard_preview/recent_job_orders.png | Bin .../images}/dashboard_preview/submissions.png | Bin .../images}/dashboard_preview/text.png | Bin .../images}/dashboard_preview/title_bar.png | Bin .../images}/dashboard_preview/upcoming_events.png | Bin {images => legacy/images}/downward.gif | Bin {images => legacy/images}/edit.gif | Bin {images => legacy/images}/email.gif | Bin {images => legacy/images}/email_logo.jpg | Bin {images => legacy/images}/favicon.ico | Bin {images => legacy/images}/file/avi.gif | Bin {images => legacy/images}/file/bmp.gif | Bin {images => legacy/images}/file/doc.gif | Bin {images => legacy/images}/file/eps.gif | Bin {images => legacy/images}/file/gif.gif | Bin {images => legacy/images}/file/jpeg.gif | Bin {images => legacy/images}/file/jpg.gif | Bin {images => legacy/images}/file/pdf.gif | Bin {images => legacy/images}/file/png.gif | Bin {images => legacy/images}/file/ppt.gif | Bin {images => legacy/images}/file/rtf.gif | Bin {images => legacy/images}/file/txt.gif | Bin {images => legacy/images}/file/wmv.gif | Bin {images => legacy/images}/file/xls.gif | Bin {images => legacy/images}/file/zip.gif | Bin {images => legacy/images}/fileTypeBz2.jpg | Bin {images => legacy/images}/fileTypeDoc.jpg | Bin {images => legacy/images}/fileTypeGz.jpg | Bin {images => legacy/images}/fileTypeHtml.jpg | Bin {images => legacy/images}/fileTypePdf.jpg | Bin {images => legacy/images}/fileTypeRtf.jpg | Bin {images => legacy/images}/fileTypeTar.jpg | Bin {images => legacy/images}/fileTypeTxt.jpg | Bin {images => legacy/images}/fileTypeZip.jpg | Bin {images => legacy/images}/firefox-spread-btn-2.png | Bin {images => legacy/images}/folder1_locked.jpg | Bin {images => legacy/images}/friendly_error.jpg | Bin {images => legacy/images}/google_maps.gif | Bin {images => legacy/images}/gradient.gif | Bin {images => legacy/images}/graphNoData.jpg | Bin {images => legacy/images}/gray_gradient.gif | Bin {images => legacy/images}/gray_x.gif | Bin {images => legacy/images}/home.gif | Bin {images => legacy/images}/i-firefox-small.gif | Bin {images => legacy/images}/i-firefox.gif | Bin {images => legacy/images}/i-ie.gif | Bin {images => legacy/images}/i-opera-grayed.gif | Bin {images => legacy/images}/i-outlook.gif | Bin {images => legacy/images}/i-safari-grayed.gif | Bin {images => legacy/images}/i-thunderbird.gif | Bin {images => legacy/images}/icon_clock.gif | Bin {images => legacy/images}/indicator.gif | Bin {images => legacy/images}/indicator2.gif | Bin {images => legacy/images}/indicator_small.gif | Bin {images => legacy/images}/information.gif | Bin {images => legacy/images}/install_logo.gif | Bin {images => legacy/images}/interview.gif | Bin {images => legacy/images}/job_orders.gif | Bin {images => legacy/images}/joborder.gif | Bin {images => legacy/images}/key.png | Bin {images => legacy/images}/large_error.gif | Bin {images => legacy/images}/lightblue_gradient.jpg | Bin {images => legacy/images}/lightblue_gradient_15.jpg | Bin {images => legacy/images}/loading.gif | Bin {images => legacy/images}/login2.jpg | Bin {images => legacy/images}/maskBG.gif | Bin {images => legacy/images}/massImport.jpg | Bin {images => legacy/images}/massResumeImport.jpg | Bin {images => legacy/images}/meeting.gif | Bin {images => legacy/images}/moveUp-o.gif | Bin {images => legacy/images}/moveUp.gif | Bin {images => legacy/images}/mru/blank.gif | Bin {images => legacy/images}/mru/candidate.gif | Bin {images => legacy/images}/mru/company.gif | Bin {images => legacy/images}/mru/contact.gif | Bin {images => legacy/images}/mru/job_order.gif | Bin {images => legacy/images}/mru_background.gif | Bin {images => legacy/images}/mycompany.gif | Bin {images => legacy/images}/mycompany_small.gif | Bin {images => legacy/images}/new_activity_inline.gif | Bin {images => legacy/images}/new_browser_inline.gif | Bin {images => legacy/images}/new_window.gif | Bin {images => legacy/images}/next.gif | Bin {images => legacy/images}/noDataByDisability.png | Bin {images => legacy/images}/noDataByGender.png | Bin {images => legacy/images}/nodata/activitiesTop.jpg | Bin .../images}/nodata/addMassImport-o.jpg | Bin {images => legacy/images}/nodata/addMassImport.jpg | Bin .../images}/nodata/candidateButton-o.jpg | Bin .../images}/nodata/candidatesButton.jpg | Bin {images => legacy/images}/nodata/candidatesTop.jpg | Bin {images => legacy/images}/nodata/companiesTop.jpg | Bin .../images}/nodata/contactsButton-o.jpg | Bin {images => legacy/images}/nodata/contactsButton.jpg | Bin {images => legacy/images}/nodata/contactsTop.jpg | Bin .../images}/nodata/dashboardNoCandidates.jpg | Bin .../images}/nodata/dashboardNoCandidatesWhite.jpg | Bin .../images}/nodata/dashboardNoHires.jpg | Bin .../images}/nodata/dashboardNoHiresWhite.jpg | Bin .../images}/nodata/jobOrdersButton-o.jpg | Bin .../images}/nodata/jobOrdersButton.jpg | Bin {images => legacy/images}/nodata/jobOrdersTop.jpg | Bin {images => legacy/images}/nodata/joborders.jpg | Bin {images => legacy/images}/nodata/listsTop.jpg | Bin {images => legacy/images}/nodata/noDataTable.jpg | Bin {images => legacy/images}/nosort.gif | Bin {images => legacy/images}/orange_gradient.jpg | Bin {images => legacy/images}/other.gif | Bin {images => legacy/images}/package_editors.gif | Bin {images => legacy/images}/paperclip.gif | Bin {images => legacy/images}/paperclip_add.gif | Bin {images => legacy/images}/parser/ad.gif | Bin {images => legacy/images}/parser/arrow.gif | Bin {images => legacy/images}/parser/attachment.gif | Bin {images => legacy/images}/parser/document.gif | Bin {images => legacy/images}/parser/import.gif | Bin {images => legacy/images}/parser/manual.gif | Bin {images => legacy/images}/parser/new.gif | Bin {images => legacy/images}/parser/or.gif | Bin {images => legacy/images}/parser/paste.gif | Bin {images => legacy/images}/parser/statusBar.jpg | Bin .../images}/parser/statusBottomLeft.jpg | Bin .../images}/parser/statusBottomRight.jpg | Bin {images => legacy/images}/parser/title.gif | Bin {images => legacy/images}/parser/transfer.gif | Bin {images => legacy/images}/parser/transfer_grey.gif | Bin {images => legacy/images}/personal.gif | Bin {images => legacy/images}/phone.gif | Bin {images => legacy/images}/popup.gif | Bin {images => legacy/images}/poweredByResfly.jpg | Bin {images => legacy/images}/prev.gif | Bin {images => legacy/images}/profButton-o.jpg | Bin {images => legacy/images}/profButton.jpg | Bin {images => legacy/images}/public.gif | Bin {images => legacy/images}/rcf_logo.gif | Bin {images => legacy/images}/recruitingEasy.jpg | Bin {images => legacy/images}/red_gradient.jpg | Bin {images => legacy/images}/report1small.jpg | Bin {images => legacy/images}/reports.gif | Bin {images => legacy/images}/reportsSmall.gif | Bin {images => legacy/images}/resume_preview_inline.gif | Bin {images => legacy/images}/scrollBottom.jpg | Bin {images => legacy/images}/scrollTop.jpg | Bin {images => legacy/images}/search.gif | Bin {images => legacy/images}/serverSystem.jpg | Bin {images => legacy/images}/settings.gif | Bin {images => legacy/images}/settingsAdminProf.jpg | Bin {images => legacy/images}/signUp.jpg | Bin {images => legacy/images}/sort_table_bg.gif | Bin {images => legacy/images}/stars/star0.gif | Bin {images => legacy/images}/stars/star1.gif | Bin {images => legacy/images}/stars/star2.gif | Bin {images => legacy/images}/stars/star3.gif | Bin {images => legacy/images}/stars/star4.gif | Bin {images => legacy/images}/stars/star5.gif | Bin {images => legacy/images}/stars/starneg1.gif | Bin {images => legacy/images}/stars/starneg2.gif | Bin {images => legacy/images}/stars/starneg3.gif | Bin {images => legacy/images}/stars/starneg4.gif | Bin {images => legacy/images}/stars/starneg5.gif | Bin {images => legacy/images}/stars/starneg6.gif | Bin {images => legacy/images}/stars/starsave.gif | Bin {images => legacy/images}/submit.gif | Bin {images => legacy/images}/superblogo.gif | Bin {images => legacy/images}/support.gif | Bin {images => legacy/images}/tab1.png | Bin {images => legacy/images}/tab2.png | Bin {images => legacy/images}/tab3.png | Bin {images => legacy/images}/tab_add.gif | Bin {images => legacy/images}/tablebg.gif | Bin {images => legacy/images}/tabs/active.jpg | Bin {images => legacy/images}/tabs/inactive.jpg | Bin {images => legacy/images}/tabs/small_account.jpg | Bin {images => legacy/images}/tabs/small_logout.jpg | Bin {images => legacy/images}/tabs/small_upgrade.jpg | Bin {images => legacy/images}/tabs/subtab_active.jpg | Bin {images => legacy/images}/tabs/subtab_inactive.jpg | Bin {images => legacy/images}/tests.gif | Bin {images => legacy/images}/tests_inline.gif | Bin {images => legacy/images}/tiled2c.gif | Bin {images => legacy/images}/toolbarImport.jpg | Bin {images => legacy/images}/toolbarPreview.jpg | Bin {images => legacy/images}/unsubmit.gif | Bin {images => legacy/images}/upward.gif | Bin {images => legacy/images}/vcard.gif | Bin {images => legacy/images}/vip_arrow.gif | Bin {images => legacy/images}/vip_banner.gif | Bin {images => legacy/images}/wf_error.gif | Bin {images => legacy/images}/wizard/bottomLeft.jpg | Bin {images => legacy/images}/wizard/bottomRight.jpg | Bin {images => legacy/images}/wizard/massImport.jpg | Bin {images => legacy/images}/wizard/opaqueLogo.jpg | Bin {images => legacy/images}/wizard/professional.jpg | Bin {images => legacy/images}/wizard/sectionTopLeft.jpg | Bin .../images}/wizard/sectionTopRight.jpg | Bin {images => legacy/images}/wizard/topLeft.jpg | Bin {images => legacy/images}/wizard/topRight.jpg | Bin index.php => legacy/index.php | 0 installtest.php => legacy/installtest.php | 0 installwizard.php => legacy/installwizard.php | 0 {js => legacy/js}/activity.js | 0 {js => legacy/js}/addressParser.js | 0 {js => legacy/js}/backup.js | 0 {js => legacy/js}/calendarDateInput.js | 0 {js => legacy/js}/candidate.js | 0 {js => legacy/js}/candidateParser.js | 0 {js => legacy/js}/careerPortalApply.js | 0 {js => legacy/js}/careerportal.js | 0 {js => legacy/js}/careersPage.js | 0 {js => legacy/js}/ckeditor-manager.js | 0 {js => legacy/js}/company.js | 0 {js => legacy/js}/contact.js | 0 {js => legacy/js}/dataGrid.js | 0 {js => legacy/js}/dataGridFilters.js | 0 {js => legacy/js}/doubleListEditor.js | 0 {js => legacy/js}/eeo.js | 0 {js => legacy/js}/emailHandler.js | 0 {js => legacy/js}/export.js | 0 {js => legacy/js}/highlightrows.js | 0 {js => legacy/js}/home.js | 0 {js => legacy/js}/index.php | 0 {js => legacy/js}/install.js | 0 {js => legacy/js}/joborder.js | 0 {js => legacy/js}/jquery-1.3.2.min.js | 0 {js => legacy/js}/lib.js | 0 {js => legacy/js}/listEditor.js | 0 {js => legacy/js}/lists.js | 0 {js => legacy/js}/massImport.js | 0 {js => legacy/js}/match.js | 0 {js => legacy/js}/pipeline.js | 0 {js => legacy/js}/questionnaire.js | 0 {js => legacy/js}/quickAction.js | 0 {js => legacy/js}/searchAdvanced.js | 0 {js => legacy/js}/searchSaved.js | 0 {js => legacy/js}/sorttable.js | 0 {js => legacy/js}/submodal/close.gif | Bin {js => legacy/js}/submodal/loading.html | 0 {js => legacy/js}/submodal/subModal.js | 0 {js => legacy/js}/suggest.js | 0 {js => legacy/js}/sweetTitles.js | 0 {js => legacy/js}/wizardIntro.js | 0 {lib => legacy/lib}/ACL.php | 0 {lib => legacy/lib}/AJAXInterface.php | 0 {lib => legacy/lib}/ActivityEntries.php | 0 {lib => legacy/lib}/AddressParser.php | 0 {lib => legacy/lib}/ArrayUtility.php | 0 {lib => legacy/lib}/Attachments.php | 0 {lib => legacy/lib}/BrowserDetection.php | 0 {lib => legacy/lib}/CATSUtility.php | 0 {lib => legacy/lib}/Calendar.php | 0 {lib => legacy/lib}/Candidates.php | 0 {lib => legacy/lib}/CandidatesImport.php | 0 {lib => legacy/lib}/CareerPortal.php | 0 {lib => legacy/lib}/CommonErrors.php | 0 {lib => legacy/lib}/Companies.php | 0 {lib => legacy/lib}/CompaniesImport.php | 0 {lib => legacy/lib}/Contacts.php | 0 {lib => legacy/lib}/ContactsImport.php | 0 {lib => legacy/lib}/Dashboard.php | 0 {lib => legacy/lib}/DataGrid.php | 0 {lib => legacy/lib}/DatabaseConnection.php | 0 {lib => legacy/lib}/DatabaseSearch.php | 0 {lib => legacy/lib}/DateUtility.php | 0 {lib => legacy/lib}/DocumentToText.php | 0 {lib => legacy/lib}/EmailTemplates.php | 0 {lib => legacy/lib}/Export.php | 0 {lib => legacy/lib}/ExtraFields.php | 0 {lib => legacy/lib}/FileCompressor.php | 0 {lib => legacy/lib}/FileUtility.php | 0 {lib => legacy/lib}/GraphGenerator.php | 0 {lib => legacy/lib}/Graphs.php | 0 {lib => legacy/lib}/HashUtility.php | 0 {lib => legacy/lib}/History.php | 0 {lib => legacy/lib}/Hooks.php | 0 {lib => legacy/lib}/HttpLogger.php | 0 {lib => legacy/lib}/IFrameBlank.html | 0 {lib => legacy/lib}/ImportUtility.php | 0 {lib => legacy/lib}/ImportableEntity.php | 0 {lib => legacy/lib}/InfoString.php | 0 {lib => legacy/lib}/InstallationTests.php | 0 {lib => legacy/lib}/JobOrderStatuses.php | 0 {lib => legacy/lib}/JobOrderTypes.php | 0 {lib => legacy/lib}/JobOrders.php | 0 {lib => legacy/lib}/LDAP.php | 0 {lib => legacy/lib}/ListEditor.php | 0 {lib => legacy/lib}/LoginActivity.php | 0 {lib => legacy/lib}/MRU.php | 0 {lib => legacy/lib}/Mailer.php | 0 {lib => legacy/lib}/ModuleUtility.php | 0 {lib => legacy/lib}/NewVersionCheck.php | 0 {lib => legacy/lib}/Pager.php | 0 {lib => legacy/lib}/ParseUtility.php | 0 {lib => legacy/lib}/Pipelines.php | 0 {lib => legacy/lib}/Questionnaire.php | 0 {lib => legacy/lib}/QueueProcessor.php | 0 {lib => legacy/lib}/ResultSetUtility.php | 0 {lib => legacy/lib}/SavedLists.php | 0 {lib => legacy/lib}/Search.php | 0 {lib => legacy/lib}/Session.php | 0 {lib => legacy/lib}/Site.php | 0 {lib => legacy/lib}/Statistics.php | 0 {lib => legacy/lib}/StringUtility.php | 0 {lib => legacy/lib}/SystemInfo.php | 0 {lib => legacy/lib}/SystemUtility.php | 0 {lib => legacy/lib}/Tags.php | 0 {lib => legacy/lib}/Template.php | 0 {lib => legacy/lib}/TemplateUtility.php | 0 {lib => legacy/lib}/UserInterface.php | 0 {lib => legacy/lib}/Users.php | 0 {lib => legacy/lib}/VCard.php | 0 {lib => legacy/lib}/WebForm.php | 0 {lib => legacy/lib}/Width.php | 0 {lib => legacy/lib}/Wizard.php | 0 {lib => legacy/lib}/XmlJobExport.php | 0 {lib => legacy/lib}/ZipLookup.php | 0 {lib => legacy/lib}/artichow/AntiSpam.class.php | 0 {lib => legacy/lib}/artichow/Artichow.cfg.php | 0 {lib => legacy/lib}/artichow/Artichow.class.php | 0 {lib => legacy/lib}/artichow/BarPlot.class.php | 0 .../lib}/artichow/BarPlotDashboard.class.php | 0 .../lib}/artichow/BarPlotPipeline.class.php | 0 {lib => legacy/lib}/artichow/Component.class.php | 0 {lib => legacy/lib}/artichow/Graph.class.php | 0 {lib => legacy/lib}/artichow/Image.class.php | 0 {lib => legacy/lib}/artichow/LinePlot.class.php | 0 {lib => legacy/lib}/artichow/MathPlot.class.php | 0 {lib => legacy/lib}/artichow/Pattern.class.php | 0 {lib => legacy/lib}/artichow/Pie.class.php | 0 {lib => legacy/lib}/artichow/Plot.class.php | 0 {lib => legacy/lib}/artichow/ScatterPlot.class.php | 0 {lib => legacy/lib}/artichow/common.php | 0 {lib => legacy/lib}/artichow/font/Tuffy.ttf | Bin {lib => legacy/lib}/artichow/font/TuffyBold.ttf | Bin .../lib}/artichow/font/TuffyBoldItalic.ttf | Bin {lib => legacy/lib}/artichow/font/TuffyItalic.ttf | Bin {lib => legacy/lib}/artichow/images/book.png | Bin {lib => legacy/lib}/artichow/images/paperclip.png | Bin {lib => legacy/lib}/artichow/images/star.png | Bin {lib => legacy/lib}/artichow/inc/Axis.class.php | 0 {lib => legacy/lib}/artichow/inc/Border.class.php | 0 {lib => legacy/lib}/artichow/inc/Color.class.php | 0 {lib => legacy/lib}/artichow/inc/Drawer.class.php | 0 {lib => legacy/lib}/artichow/inc/Font.class.php | 0 {lib => legacy/lib}/artichow/inc/Gradient.class.php | 0 {lib => legacy/lib}/artichow/inc/Grid.class.php | 0 {lib => legacy/lib}/artichow/inc/Label.class.php | 0 {lib => legacy/lib}/artichow/inc/Legend.class.php | 0 {lib => legacy/lib}/artichow/inc/Mark.class.php | 0 {lib => legacy/lib}/artichow/inc/Math.class.php | 0 {lib => legacy/lib}/artichow/inc/Shadow.class.php | 0 {lib => legacy/lib}/artichow/inc/Text.class.php | 0 {lib => legacy/lib}/artichow/inc/Tick.class.php | 0 {lib => legacy/lib}/artichow/inc/Tools.class.php | 0 {lib => legacy/lib}/artichow/patterns/BarDepth.php | 0 {lib => legacy/lib}/artichow/patterns/LightLine.php | 0 {lib => legacy/lib}/datagrid/FilterArea.tpl | 0 {lib => legacy/lib}/mime.types | 0 {config => legacy/lib}/sphinx/STOPWORDS | 0 .../sphinx => legacy/lib/sphinx/conf}/sphinx.conf | 0 {temp => legacy/lib/sphinx/index/cats}/empty | 0 .../lib/sphinx/index/cats_delta/empty | 0 .../lib/sphinx/var/log/empty | 0 .../index.html => legacy/lib/sphinx/var/run/empty | 0 main.css => legacy/main.css | 0 .../modules}/activity/ActivityDataGrid.tpl | 0 {modules => legacy/modules}/activity/ActivityUI.php | 0 {modules => legacy/modules}/activity/Search.tpl | 0 {modules => legacy/modules}/activity/dataGrids.php | 0 {modules => legacy/modules}/activity/validator.js | 0 .../modules}/attachments/AttachmentsUI.php | 0 {modules => legacy/modules}/calendar/Calendar.css | 0 {modules => legacy/modules}/calendar/Calendar.js | 0 {modules => legacy/modules}/calendar/Calendar.tpl | 0 {modules => legacy/modules}/calendar/CalendarUI.js | 0 {modules => legacy/modules}/calendar/CalendarUI.php | 0 {modules => legacy/modules}/calendar/Error.tpl | 0 .../modules}/calendar/tasks/Reminders.php | 0 .../modules}/calendar/tasks/tasks.php | 0 {modules => legacy/modules}/calendar/validator.js | 0 {modules => legacy/modules}/candidates/Add.tpl | 0 .../candidates/AddActivityScheduleEventModal.tpl | 0 .../modules}/candidates/AssignCandidateTagModal.tpl | 0 .../modules}/candidates/Candidates.tpl | 0 .../modules}/candidates/CandidatesUI.php | 0 .../modules}/candidates/ChangeStatusModal.tpl | 0 .../modules}/candidates/ConsiderSearchModal.tpl | 0 .../modules}/candidates/CreateAttachmentModal.tpl | 0 .../candidates/CreateImageAttachmentModal.tpl | 0 .../modules}/candidates/Duplicates.tpl | 0 {modules => legacy/modules}/candidates/Edit.tpl | 0 {modules => legacy/modules}/candidates/Error.tpl | 0 .../modules}/candidates/ErrorModal.tpl | 0 {modules => legacy/modules}/candidates/HotList.tpl | 0 .../modules}/candidates/LinkDuplicity.tpl | 0 {modules => legacy/modules}/candidates/Merge.tpl | 0 .../modules}/candidates/Questionnaire.tpl | 0 .../modules}/candidates/ResumeView.tpl | 0 {modules => legacy/modules}/candidates/Search.tpl | 0 .../modules}/candidates/SendEmail.tpl | 0 {modules => legacy/modules}/candidates/Show.tpl | 0 .../modules}/candidates/activityvalidator.js | 0 .../modules}/candidates/dataGrids.php | 0 .../modules}/candidates/quickAction-candidates.js | 0 .../modules}/candidates/quickAction-duplicates.js | 0 {modules => legacy/modules}/candidates/validator.js | 0 {modules => legacy/modules}/careers/Blank.tpl | 0 {modules => legacy/modules}/careers/Blank2.tpl | 0 .../modules}/careers/BlankNoMargin.tpl | 0 {modules => legacy/modules}/careers/CareersUI.php | 0 {modules => legacy/modules}/careers/Error.tpl | 0 .../modules/careers/Openings.tpl | 0 legacy/modules/careers/SearchOpenings.tpl | 0 {modules => legacy/modules}/companies/Add.tpl | 0 {modules => legacy/modules}/companies/Companies.tpl | 0 .../modules}/companies/CompaniesUI.php | 0 .../modules}/companies/CreateAttachmentModal.tpl | 0 {modules => legacy/modules}/companies/Edit.tpl | 0 {modules => legacy/modules}/companies/Error.tpl | 0 .../modules}/companies/ErrorModal.tpl | 0 {modules => legacy/modules}/companies/Search.tpl | 0 {modules => legacy/modules}/companies/Show.tpl | 0 {modules => legacy/modules}/companies/dataGrids.php | 0 {modules => legacy/modules}/companies/validator.js | 0 {modules => legacy/modules}/contacts/Add.tpl | 0 .../contacts/AddActivityScheduleEventModal.tpl | 0 .../modules}/contacts/ColdCallList.tpl | 0 {modules => legacy/modules}/contacts/Contacts.tpl | 0 {modules => legacy/modules}/contacts/ContactsUI.php | 0 {modules => legacy/modules}/contacts/Edit.tpl | 0 {modules => legacy/modules}/contacts/Error.tpl | 0 {modules => legacy/modules}/contacts/ErrorModal.tpl | 0 {modules => legacy/modules}/contacts/Search.tpl | 0 {modules => legacy/modules}/contacts/Show.tpl | 0 .../modules}/contacts/activityvalidator.js | 0 {modules => legacy/modules}/contacts/dataGrids.php | 0 {modules => legacy/modules}/contacts/validator.js | 0 {modules => legacy/modules}/export/ExportUI.php | 0 {modules => legacy/modules}/graphs/GraphsUI.php | 0 {modules => legacy/modules}/home/Error.tpl | 0 {modules => legacy/modules}/home/FriendlyError.tpl | 0 {modules => legacy/modules}/home/Home.tpl | 0 {modules => legacy/modules}/home/HomeUI.php | 0 .../modules}/home/SearchEverything.tpl | 0 {modules => legacy/modules}/home/dataGrids.php | 0 .../modules}/import/BulkResumesHelp.tpl | 0 {modules => legacy/modules}/import/Error.tpl | 0 {modules => legacy/modules}/import/ErrorModal.tpl | 0 {modules => legacy/modules}/import/Import.php | 0 {modules => legacy/modules}/import/Import.tpl | 0 {modules => legacy/modules}/import/Import1.tpl | 0 {modules => legacy/modules}/import/Import2.tpl | 0 .../modules}/import/ImportCommits.tpl | 0 {modules => legacy/modules}/import/ImportRecent.tpl | 0 .../modules}/import/ImportResumesBulk.tpl | 0 {modules => legacy/modules}/import/ImportUI.php | 0 {modules => legacy/modules}/import/MassImport.css | 0 {modules => legacy/modules}/import/MassImport.tpl | 0 .../modules}/import/MassImportEdit.tpl | 0 .../modules}/import/MassImportStep1.tpl | 0 .../modules}/import/MassImportStep2.tpl | 0 .../modules}/import/MassImportStep3.tpl | 0 .../modules}/import/MassImportStep4.tpl | 0 .../modules}/import/ajax/processMassImportItem.php | 0 {modules => legacy/modules}/import/import.js | 0 {modules => legacy/modules}/install/CATSUI.php | 0 .../modules}/install/OptionalComponents.php | 0 {modules => legacy/modules}/install/Schema.php | 0 .../modules}/install/ajax/attachmentsReindex.php | 0 .../install/ajax/attachmentsToThreeDirectory.php | 0 {modules => legacy/modules}/install/ajax/maint.php | 0 {modules => legacy/modules}/install/ajax/ui.php | 0 {modules => legacy/modules}/install/backupDB.php | 0 {modules => legacy/modules}/install/install.css | 0 .../modules}/install/notinstalled.php | 0 {modules => legacy/modules}/install/phpVersion.php | 0 {modules => legacy/modules}/install/scripts/114.php | 0 {modules => legacy/modules}/install/scripts/150.php | 0 {modules => legacy/modules}/install/scripts/359.sql | 0 {modules => legacy/modules}/install/scripts/372.php | 0 .../modules}/install/testdocs/test.doc | Bin .../modules}/install/testdocs/test.html | 0 .../modules}/install/testdocs/test.pdf | Bin .../modules}/install/testdocs/test.rtf | 0 {modules => legacy/modules}/joborders/Add.tpl | 0 .../modules}/joborders/AddModalPopup.tpl | 0 .../modules}/joborders/ConsiderSearchModal.tpl | 0 .../modules}/joborders/CreateAttachmentModal.tpl | 0 {modules => legacy/modules}/joborders/Edit.tpl | 0 {modules => legacy/modules}/joborders/Error.tpl | 0 .../modules}/joborders/ErrorModal.tpl | 0 {modules => legacy/modules}/joborders/JobOrders.tpl | 0 .../modules}/joborders/JobOrdersUI.php | 0 {modules => legacy/modules}/joborders/Search.tpl | 0 {modules => legacy/modules}/joborders/Show.tpl | 0 {modules => legacy/modules}/joborders/dataGrids.php | 0 {modules => legacy/modules}/joborders/validator.js | 0 {modules => legacy/modules}/lists/List.tpl | 0 {modules => legacy/modules}/lists/Lists.tpl | 0 {modules => legacy/modules}/lists/ListsUI.php | 0 .../modules}/lists/QuickActionAddToListModal.tpl | 0 .../modules}/lists/ajax/addToLists.php | 0 .../modules}/lists/ajax/deleteList.php | 0 .../modules}/lists/ajax/editListName.php | 0 {modules => legacy/modules}/lists/ajax/newList.php | 0 {modules => legacy/modules}/lists/dataGrids.php | 0 .../modules}/login/ForgotPassword.tpl | 0 {modules => legacy/modules}/login/Login.tpl | 0 {modules => legacy/modules}/login/LoginUI.php | 0 .../modules}/login/NoCookiesModal.tpl | 0 {modules => legacy/modules}/login/login.css | 0 {modules => legacy/modules}/login/validator.js | 0 {modules => legacy/modules}/login/wizard/Email.tpl | 0 {modules => legacy/modules}/login/wizard/Intro.tpl | 0 .../modules}/login/wizard/Localization.tpl | 0 .../modules}/login/wizard/Password.tpl | 0 .../modules}/login/wizard/SiteName.tpl | 0 {modules => legacy/modules}/login/wizard/Users.tpl | 0 {modules => legacy/modules}/queue/QueueUI.php | 0 {modules => legacy/modules}/queue/constants.php | 0 {modules => legacy/modules}/queue/lib/Task.php | 0 {modules => legacy/modules}/queue/tasks.php | 0 .../modules}/queue/tasks/CleanExceptions.php | 0 .../modules}/queue/tasks/SampleRecurring.php | 0 .../modules}/queue/tasks/SampleTask.php | 0 .../modules}/queue/tasks/lib/Task.php | 0 {modules => legacy/modules}/queue/tasks/tasks.php | 0 {modules => legacy/modules}/reports/EEOReport.tpl | 0 {modules => legacy/modules}/reports/Error.tpl | 0 {modules => legacy/modules}/reports/GraphView.tpl | 0 .../modules}/reports/JobOrderReport.tpl | 0 .../modules}/reports/NewDataItems.tpl | 0 .../modules}/reports/PlacedReport.tpl | 0 {modules => legacy/modules}/reports/Reports.tpl | 0 {modules => legacy/modules}/reports/ReportsUI.php | 0 .../modules}/reports/SubmissionReport.tpl | 0 {modules => legacy/modules}/rss/RssUI.php | 0 {modules => legacy/modules}/settings/AddUser.tpl | 0 .../modules}/settings/Administration.tpl | 0 {modules => legacy/modules}/settings/Backup.tpl | 0 .../modules}/settings/CareerPortalQuestionnaire.tpl | 0 .../settings/CareerPortalQuestionnaireShow.tpl | 0 .../modules}/settings/CareerPortalSettings.tpl | 0 .../modules}/settings/CareerPortalTemplateEdit.tpl | 0 .../modules}/settings/ChangePassword.tpl | 0 .../modules}/settings/CustomizeCalendar.tpl | 0 .../modules}/settings/CustomizeExtraFields.tpl | 0 .../modules}/settings/CustomizeReports.tpl | 0 .../modules}/settings/EEOEOCSettings.tpl | 0 {modules => legacy/modules}/settings/EditUser.tpl | 0 .../modules}/settings/EmailSettings.tpl | 0 .../modules}/settings/EmailTemplates.tpl | 0 {modules => legacy/modules}/settings/Error.tpl | 0 .../modules}/settings/ItemHistory.tpl | 0 .../modules}/settings/Localization.tpl | 0 .../modules}/settings/LoginActivity.tpl | 0 {modules => legacy/modules}/settings/MyProfile.tpl | 0 .../modules}/settings/NewInstallWizard.tpl | 0 .../modules}/settings/NewVersionCheck.tpl | 0 {modules => legacy/modules}/settings/Passwords.tpl | 0 .../modules}/settings/PreviewPage.tpl | 0 .../modules}/settings/PreviewPageTop.tpl | 0 {modules => legacy/modules}/settings/Settings.js | 0 {modules => legacy/modules}/settings/SettingsUI.php | 0 {modules => legacy/modules}/settings/ShowUser.tpl | 0 {modules => legacy/modules}/settings/SiteName.tpl | 0 .../modules}/settings/SystemInformation.tpl | 0 {modules => legacy/modules}/settings/Users.tpl | 0 .../modules}/settings/ajax/backup.php | 0 {modules => legacy/modules}/settings/downloads.css | 0 {modules => legacy/modules}/settings/tags.tpl | 0 {modules => legacy/modules}/settings/validator.js | 0 {modules => legacy/modules}/wizard/Show.tpl | 0 {modules => legacy/modules}/wizard/WizardUI.php | 0 {modules => legacy/modules}/wizard/style.css | 0 {modules => legacy/modules}/wizard/wizard.js | 0 {modules => legacy/modules}/xml/XmlUI.php | 0 .../modules}/xml/xml_templates/indeed.xtpl | 0 .../modules}/xml/xml_templates/rss.xtpl | 0 .../modules}/xml/xml_templates/simplyhired.xtpl | 0 not-ie.css => legacy/not-ie.css | 0 .../latest-sphinx-search/README.MD | 0 .../latest-sphinx-search/Search.php | 0 .../latest-sphinx-search/config.php | 0 .../latest-sphinx-search/sphinx.conf | 0 phpunit.xml.dist => legacy/phpunit.xml.dist | 0 rebuild_old_docs.php => legacy/rebuild_old_docs.php | 0 legacy/reports/index.html | 0 robots.txt => legacy/robots.txt | 0 {rss => legacy/rss}/index.php | 0 {scripts => legacy/scripts}/countcode.sh | 0 {scripts => legacy/scripts}/countfilecode.awk | 0 legacy/scripts/index.php | 0 {scripts => legacy/scripts}/killwhitespace.sh | 0 {scripts => legacy/scripts}/makeBackup.php | 0 {scripts => legacy/scripts}/mysql_get_prod_db.sh | 0 {scripts => legacy/scripts}/newversion.sh | 0 {scripts => legacy/scripts}/sphinx_reindex.sh | 0 {scripts => legacy/scripts}/sphinx_restart.sh | 0 {scripts => legacy/scripts}/sphinx_rotate.sh | 0 {scripts => legacy/scripts}/sphinx_update_delta.sh | 0 {scripts => legacy/scripts}/sphinxtest.php | 0 .../scripts}/storeDeletedAttachments.sh | 0 {scripts => legacy/scripts}/svnkeywords.sh | 0 {src => legacy/src}/OpenCATS/Entity/Company.php | 0 .../src}/OpenCATS/Entity/CompanyRepository.php | 0 .../OpenCATS/Entity/CompanyRepositoryException.php | 0 {src => legacy/src}/OpenCATS/Entity/JobOrder.php | 0 .../src}/OpenCATS/Entity/JobOrderRepository.php | 0 .../OpenCATS/Entity/JobOrderRepositoryException.php | 0 .../Tests/Behat/BrowserKit/StreamHttpBrowser.php | 0 .../ServiceContainer/Driver/BrowserKitFactory.php | 0 .../Tests/Behat/ServiceContainer/MinkExtension.php | 0 .../src}/OpenCATS/Tests/Fixtures/SampleText.txt | 0 .../IntegrationTests/DatabaseConnectionTest.php | 0 .../Tests/IntegrationTests/DatabaseSearchTest.php | 0 .../Tests/IntegrationTests/DatabaseTestCase.php | 0 .../OpenCATS/Tests/UnitTests/AJAXInterfaceTest.php | 0 .../OpenCATS/Tests/UnitTests/AddressParserTest.php | 0 .../OpenCATS/Tests/UnitTests/ArrayUtilityTest.php | 0 .../Tests/UnitTests/BrowserDetectionTest.php | 0 .../Tests/UnitTests/CompanyRepositoryTest.php | 0 .../src}/OpenCATS/Tests/UnitTests/CompanyTest.php | 0 .../OpenCATS/Tests/UnitTests/DateUtilityTest.php | 0 .../OpenCATS/Tests/UnitTests/FileUtilityTest.php | 0 .../src}/OpenCATS/Tests/UnitTests/JobOrderTest.php | 0 .../Tests/UnitTests/ResultSetUtilityTest.php | 0 .../OpenCATS/Tests/UnitTests/SessionCSRFTest.php | 0 .../OpenCATS/Tests/UnitTests/StringUtilityTest.php | 0 .../OpenCATS/Tests/UnitTests/TemplateEscapeTest.php | 0 .../src}/OpenCATS/Tests/UnitTests/VCardTest.php | 0 {src => legacy/src}/OpenCATS/Tests/bootstrap.php | 0 .../UI/CandidateDuplicateQuickActionMenu.php | 0 .../src}/OpenCATS/UI/CandidateQuickActionMenu.php | 0 {src => legacy/src}/OpenCATS/UI/QuickActionMenu.php | 0 legacy/temp/empty | 0 {test => legacy/test}/behat.yml | 0 {test => legacy/test}/config.php | 0 {test => legacy/test}/data/securityTests.sql | 0 .../features/GET_POST_requestsSecurity.feature | 0 {test => legacy/test}/features/activities.feature | 0 .../test}/features/bootstrap/FeatureContext.php | 0 .../test}/features/bootstrap/SecurityContext.php | 0 .../test}/features/candidate-filters.feature | 0 .../test}/features/customize-extra-fields.feature | 0 {test => legacy/test}/features/job-orders.feature | 0 {test => legacy/test}/features/login.feature | 0 .../test}/features/moduleMainPagesSecurity.feature | 0 .../test}/features/moduleSubPagesSecurity.feature | 0 {test => legacy/test}/runAllTests.sh | 0 {test => legacy/test}/scripts/securityTestData.sh | 0 {test => legacy/test}/scripts/waitForDb.php | 0 {upload => legacy/upload}/.htaccess | 0 {wsdl => legacy/wsdl}/parse.wsdl | 0 {wsdl => legacy/wsdl}/status.wsdl | 0 {xml => legacy/xml}/index.php | 0 801 files changed, 3 insertions(+) rename .gitignore => legacy/.gitignore (77%) rename .htaccess => legacy/.htaccess (100%) rename Error.tpl => legacy/Error.tpl (100%) rename QueueCLI.php => legacy/QueueCLI.php (100%) rename README-testing.md => legacy/README-testing.md (100%) rename ajax.php => legacy/ajax.php (100%) rename {ajax => legacy/ajax}/deleteActivity.php (100%) rename {ajax => legacy/ajax}/editActivity.php (100%) rename {ajax => legacy/ajax}/getCandidateIdByEmail.php (100%) rename {ajax => legacy/ajax}/getCandidateIdByPhone.php (100%) rename {ajax => legacy/ajax}/getCompanyContacts.php (100%) rename {ajax => legacy/ajax}/getCompanyLocation.php (100%) rename {ajax => legacy/ajax}/getCompanyLocationAndDepartments.php (100%) rename {ajax => legacy/ajax}/getCompanyNames.php (100%) rename {ajax => legacy/ajax}/getDataGridPager.php (100%) rename {ajax => legacy/ajax}/getDataItemJobOrders.php (100%) rename {ajax => legacy/ajax}/getParsedAddress.php (100%) rename {ajax => legacy/ajax}/getPipelineDetails.php (100%) rename {ajax => legacy/ajax}/getPipelineJobOrder.php (100%) rename {ajax => legacy/ajax}/getReportHTML.php (100%) rename {ajax => legacy/ajax}/replaceTemplateTags.php (100%) rename {ajax => legacy/ajax}/setCandidateJobOrderRating.php (100%) rename {ajax => legacy/ajax}/setColumnWidth.php (100%) rename {ajax => legacy/ajax}/showTemplate.php (100%) rename {ajax => legacy/ajax}/testEmailSettings.php (100%) rename {ajax => legacy/ajax}/zipLookup.php (100%) rename {careers => legacy/careers}/.htaccess (100%) rename {careers => legacy/careers}/index.php (100%) rename careersPage.css => legacy/careersPage.css (100%) rename composer.json => legacy/composer.json (100%) rename composer.lock => legacy/composer.lock (100%) rename config.php => legacy/config.php (100%) rename constants.php => legacy/constants.php (100%) rename {db => legacy/db}/cats_schema.sql (100%) rename {db => legacy/db}/cats_testdata.bak (100%) rename {db => legacy/db}/upgrade-0.5.0-0.5.1.sql (100%) rename {db => legacy/db}/upgrade-0.5.1-0.5.2.sql (100%) rename {db => legacy/db}/upgrade-0.5.2-0.5.5.sql (100%) rename {db => legacy/db}/upgrade-0.5.5-0.6.x.sql (100%) rename {db => legacy/db}/upgrade-0.6.x-0.7.0.sql (100%) rename {db => legacy/db}/upgrade-0.9.4-0.9.5.sql (100%) rename {db => legacy/db}/upgrade-zipcodes.sql (100%) rename {docker => legacy/docker}/docker-compose-test.yml (100%) rename {docker => legacy/docker}/docker-compose.yml (100%) rename ie.css => legacy/ie.css (100%) rename {images => legacy/images}/CATS-powered.gif (100%) rename {images => legacy/images}/CATS-sig.gif (100%) rename {images => legacy/images}/actions/add.gif (100%) rename {images => legacy/images}/actions/add_contact.gif (100%) rename {images => legacy/images}/actions/add_job_order.gif (100%) rename {images => legacy/images}/actions/add_small.gif (100%) rename {images => legacy/images}/actions/add_to_pipeline.gif (100%) rename {images => legacy/images}/actions/blank.gif (100%) rename {images => legacy/images}/actions/check_all.gif (100%) rename {images => legacy/images}/actions/delete.gif (100%) rename {images => legacy/images}/actions/delete_small.gif (100%) rename {images => legacy/images}/actions/duplicates.png (100%) rename {images => legacy/images}/actions/edit.gif (100%) rename {images => legacy/images}/actions/email.gif (100%) rename {images => legacy/images}/actions/email_no.gif (100%) rename {images => legacy/images}/actions/info.gif (100%) rename {images => legacy/images}/actions/job_order.gif (100%) rename {images => legacy/images}/actions/print.gif (100%) rename {images => legacy/images}/actions/screen.gif (100%) rename {images => legacy/images}/actions/screen_grey.gif (100%) rename {images => legacy/images}/actions/uncheck_all.gif (100%) rename {images => legacy/images}/actions/view.gif (100%) rename {images => legacy/images}/active_tab_gradient.gif (100%) rename {images => legacy/images}/activities.gif (100%) rename {images => legacy/images}/applicationLogo.jpg (100%) rename {images => legacy/images}/arrow_down.gif (100%) rename {images => legacy/images}/arrow_down.png (100%) rename {images => legacy/images}/arrow_left_24.gif (100%) rename {images => legacy/images}/arrow_next.gif (100%) rename {images => legacy/images}/arrow_next.png (100%) rename {images => legacy/images}/arrow_right_24.gif (100%) rename {images => legacy/images}/attachment.gif (100%) rename {images => legacy/images}/bell.gif (100%) rename {images => legacy/images}/bgBlue.gif (100%) rename {images => legacy/images}/bgGrayForm.gif (100%) rename {images => legacy/images}/blue_check.gif (100%) rename {images => legacy/images}/blue_gradient.jpg (100%) rename {images => legacy/images}/bullet_black.gif (100%) rename {images => legacy/images}/button_bg.gif (100%) rename {images => legacy/images}/button_bg_down.gif (100%) rename {images => legacy/images}/calendar.gif (100%) rename {images => legacy/images}/calendar1_bg.gif (100%) rename {images => legacy/images}/calendar_add.gif (100%) rename {images => legacy/images}/candidate.gif (100%) rename {images => legacy/images}/candidate_inline.gif (100%) rename {images => legacy/images}/candidate_small.gif (100%) rename {images => legacy/images}/candidate_tiny.gif (100%) rename {images => legacy/images}/careers_apply-o.gif (100%) rename {images => legacy/images}/careers_apply.gif (100%) rename {images => legacy/images}/careers_arrow.gif (100%) rename {images => legacy/images}/careers_cats.gif (100%) rename {images => legacy/images}/careers_populate.gif (100%) rename {images => legacy/images}/careers_powered.gif (100%) rename {images => legacy/images}/careers_return-o.gif (100%) rename {images => legacy/images}/careers_return.gif (100%) rename {images => legacy/images}/careers_rss-o.gif (100%) rename {images => legacy/images}/careers_rss.gif (100%) rename {images => legacy/images}/careers_search-o.gif (100%) rename {images => legacy/images}/careers_search.gif (100%) rename {images => legacy/images}/careers_share-o.gif (100%) rename {images => legacy/images}/careers_share.gif (100%) rename {images => legacy/images}/careers_show-o.gif (100%) rename {images => legacy/images}/careers_show.gif (100%) rename {images => legacy/images}/careers_submit-o.gif (100%) rename {images => legacy/images}/careers_submit.gif (100%) rename {images => legacy/images}/cats_icon.gif (100%) rename {images => legacy/images}/cats_logo.jpg (100%) rename {images => legacy/images}/cats_small_ad.jpg (100%) rename {images => legacy/images}/checkbox.gif (100%) rename {images => legacy/images}/checkbox_blank.gif (100%) rename {images => legacy/images}/cognizo-logo.jpg (100%) rename {images => legacy/images}/companies.gif (100%) rename {images => legacy/images}/consider.gif (100%) rename {images => legacy/images}/contact.gif (100%) rename {images => legacy/images}/contact_small.gif (100%) rename {images => legacy/images}/copyArrow-d.jpg (100%) rename {images => legacy/images}/copyArrow.jpg (100%) rename {images => legacy/images}/copyBg-d.jpg (100%) rename {images => legacy/images}/copyBg.jpg (100%) rename {images => legacy/images}/copyBottom-d.jpg (100%) rename {images => legacy/images}/copyBottom.jpg (100%) rename {images => legacy/images}/copyTemplate.psd (100%) rename {images => legacy/images}/copyTop-d.jpg (100%) rename {images => legacy/images}/copyTop.jpg (100%) rename {images => legacy/images}/cp_add.gif (100%) rename {images => legacy/images}/cp_back.gif (100%) rename {images => legacy/images}/cp_delete.gif (100%) rename {images => legacy/images}/cp_edit.gif (100%) rename {images => legacy/images}/cp_info.jpg (100%) rename {images => legacy/images}/cp_listing.jpg (100%) rename {images => legacy/images}/cp_questionnaire.jpg (100%) rename {images => legacy/images}/cp_resume.jpg (100%) rename {images => legacy/images}/cp_save.gif (100%) rename {images => legacy/images}/cross.gif (100%) rename {images => legacy/images}/customsearch.jpg (100%) rename {images => legacy/images}/customsearch2.jpg (100%) rename {images => legacy/images}/dashboard_preview/activity.png (100%) rename {images => legacy/images}/dashboard_preview/candidates.png (100%) rename {images => legacy/images}/dashboard_preview/image.png (100%) rename {images => legacy/images}/dashboard_preview/joborders.png (100%) rename {images => legacy/images}/dashboard_preview/pipeline.png (100%) rename {images => legacy/images}/dashboard_preview/recent_job_orders.png (100%) rename {images => legacy/images}/dashboard_preview/submissions.png (100%) rename {images => legacy/images}/dashboard_preview/text.png (100%) rename {images => legacy/images}/dashboard_preview/title_bar.png (100%) rename {images => legacy/images}/dashboard_preview/upcoming_events.png (100%) rename {images => legacy/images}/downward.gif (100%) rename {images => legacy/images}/edit.gif (100%) rename {images => legacy/images}/email.gif (100%) rename {images => legacy/images}/email_logo.jpg (100%) rename {images => legacy/images}/favicon.ico (100%) rename {images => legacy/images}/file/avi.gif (100%) rename {images => legacy/images}/file/bmp.gif (100%) rename {images => legacy/images}/file/doc.gif (100%) rename {images => legacy/images}/file/eps.gif (100%) rename {images => legacy/images}/file/gif.gif (100%) rename {images => legacy/images}/file/jpeg.gif (100%) rename {images => legacy/images}/file/jpg.gif (100%) rename {images => legacy/images}/file/pdf.gif (100%) rename {images => legacy/images}/file/png.gif (100%) rename {images => legacy/images}/file/ppt.gif (100%) rename {images => legacy/images}/file/rtf.gif (100%) rename {images => legacy/images}/file/txt.gif (100%) rename {images => legacy/images}/file/wmv.gif (100%) rename {images => legacy/images}/file/xls.gif (100%) rename {images => legacy/images}/file/zip.gif (100%) rename {images => legacy/images}/fileTypeBz2.jpg (100%) rename {images => legacy/images}/fileTypeDoc.jpg (100%) rename {images => legacy/images}/fileTypeGz.jpg (100%) rename {images => legacy/images}/fileTypeHtml.jpg (100%) rename {images => legacy/images}/fileTypePdf.jpg (100%) rename {images => legacy/images}/fileTypeRtf.jpg (100%) rename {images => legacy/images}/fileTypeTar.jpg (100%) rename {images => legacy/images}/fileTypeTxt.jpg (100%) rename {images => legacy/images}/fileTypeZip.jpg (100%) rename {images => legacy/images}/firefox-spread-btn-2.png (100%) rename {images => legacy/images}/folder1_locked.jpg (100%) rename {images => legacy/images}/friendly_error.jpg (100%) rename {images => legacy/images}/google_maps.gif (100%) rename {images => legacy/images}/gradient.gif (100%) rename {images => legacy/images}/graphNoData.jpg (100%) rename {images => legacy/images}/gray_gradient.gif (100%) rename {images => legacy/images}/gray_x.gif (100%) rename {images => legacy/images}/home.gif (100%) rename {images => legacy/images}/i-firefox-small.gif (100%) rename {images => legacy/images}/i-firefox.gif (100%) rename {images => legacy/images}/i-ie.gif (100%) rename {images => legacy/images}/i-opera-grayed.gif (100%) rename {images => legacy/images}/i-outlook.gif (100%) rename {images => legacy/images}/i-safari-grayed.gif (100%) rename {images => legacy/images}/i-thunderbird.gif (100%) rename {images => legacy/images}/icon_clock.gif (100%) rename {images => legacy/images}/indicator.gif (100%) rename {images => legacy/images}/indicator2.gif (100%) rename {images => legacy/images}/indicator_small.gif (100%) rename {images => legacy/images}/information.gif (100%) rename {images => legacy/images}/install_logo.gif (100%) rename {images => legacy/images}/interview.gif (100%) rename {images => legacy/images}/job_orders.gif (100%) rename {images => legacy/images}/joborder.gif (100%) rename {images => legacy/images}/key.png (100%) rename {images => legacy/images}/large_error.gif (100%) rename {images => legacy/images}/lightblue_gradient.jpg (100%) rename {images => legacy/images}/lightblue_gradient_15.jpg (100%) rename {images => legacy/images}/loading.gif (100%) rename {images => legacy/images}/login2.jpg (100%) rename {images => legacy/images}/maskBG.gif (100%) rename {images => legacy/images}/massImport.jpg (100%) rename {images => legacy/images}/massResumeImport.jpg (100%) rename {images => legacy/images}/meeting.gif (100%) rename {images => legacy/images}/moveUp-o.gif (100%) rename {images => legacy/images}/moveUp.gif (100%) rename {images => legacy/images}/mru/blank.gif (100%) rename {images => legacy/images}/mru/candidate.gif (100%) rename {images => legacy/images}/mru/company.gif (100%) rename {images => legacy/images}/mru/contact.gif (100%) rename {images => legacy/images}/mru/job_order.gif (100%) rename {images => legacy/images}/mru_background.gif (100%) rename {images => legacy/images}/mycompany.gif (100%) rename {images => legacy/images}/mycompany_small.gif (100%) rename {images => legacy/images}/new_activity_inline.gif (100%) rename {images => legacy/images}/new_browser_inline.gif (100%) rename {images => legacy/images}/new_window.gif (100%) rename {images => legacy/images}/next.gif (100%) rename {images => legacy/images}/noDataByDisability.png (100%) rename {images => legacy/images}/noDataByGender.png (100%) rename {images => legacy/images}/nodata/activitiesTop.jpg (100%) rename {images => legacy/images}/nodata/addMassImport-o.jpg (100%) rename {images => legacy/images}/nodata/addMassImport.jpg (100%) rename {images => legacy/images}/nodata/candidateButton-o.jpg (100%) rename {images => legacy/images}/nodata/candidatesButton.jpg (100%) rename {images => legacy/images}/nodata/candidatesTop.jpg (100%) rename {images => legacy/images}/nodata/companiesTop.jpg (100%) rename {images => legacy/images}/nodata/contactsButton-o.jpg (100%) rename {images => legacy/images}/nodata/contactsButton.jpg (100%) rename {images => legacy/images}/nodata/contactsTop.jpg (100%) rename {images => legacy/images}/nodata/dashboardNoCandidates.jpg (100%) rename {images => legacy/images}/nodata/dashboardNoCandidatesWhite.jpg (100%) rename {images => legacy/images}/nodata/dashboardNoHires.jpg (100%) rename {images => legacy/images}/nodata/dashboardNoHiresWhite.jpg (100%) rename {images => legacy/images}/nodata/jobOrdersButton-o.jpg (100%) rename {images => legacy/images}/nodata/jobOrdersButton.jpg (100%) rename {images => legacy/images}/nodata/jobOrdersTop.jpg (100%) rename {images => legacy/images}/nodata/joborders.jpg (100%) rename {images => legacy/images}/nodata/listsTop.jpg (100%) rename {images => legacy/images}/nodata/noDataTable.jpg (100%) rename {images => legacy/images}/nosort.gif (100%) rename {images => legacy/images}/orange_gradient.jpg (100%) rename {images => legacy/images}/other.gif (100%) rename {images => legacy/images}/package_editors.gif (100%) rename {images => legacy/images}/paperclip.gif (100%) rename {images => legacy/images}/paperclip_add.gif (100%) rename {images => legacy/images}/parser/ad.gif (100%) rename {images => legacy/images}/parser/arrow.gif (100%) rename {images => legacy/images}/parser/attachment.gif (100%) rename {images => legacy/images}/parser/document.gif (100%) rename {images => legacy/images}/parser/import.gif (100%) rename {images => legacy/images}/parser/manual.gif (100%) rename {images => legacy/images}/parser/new.gif (100%) rename {images => legacy/images}/parser/or.gif (100%) rename {images => legacy/images}/parser/paste.gif (100%) rename {images => legacy/images}/parser/statusBar.jpg (100%) rename {images => legacy/images}/parser/statusBottomLeft.jpg (100%) rename {images => legacy/images}/parser/statusBottomRight.jpg (100%) rename {images => legacy/images}/parser/title.gif (100%) rename {images => legacy/images}/parser/transfer.gif (100%) rename {images => legacy/images}/parser/transfer_grey.gif (100%) rename {images => legacy/images}/personal.gif (100%) rename {images => legacy/images}/phone.gif (100%) rename {images => legacy/images}/popup.gif (100%) rename {images => legacy/images}/poweredByResfly.jpg (100%) rename {images => legacy/images}/prev.gif (100%) rename {images => legacy/images}/profButton-o.jpg (100%) rename {images => legacy/images}/profButton.jpg (100%) rename {images => legacy/images}/public.gif (100%) rename {images => legacy/images}/rcf_logo.gif (100%) rename {images => legacy/images}/recruitingEasy.jpg (100%) rename {images => legacy/images}/red_gradient.jpg (100%) rename {images => legacy/images}/report1small.jpg (100%) rename {images => legacy/images}/reports.gif (100%) rename {images => legacy/images}/reportsSmall.gif (100%) rename {images => legacy/images}/resume_preview_inline.gif (100%) rename {images => legacy/images}/scrollBottom.jpg (100%) rename {images => legacy/images}/scrollTop.jpg (100%) rename {images => legacy/images}/search.gif (100%) rename {images => legacy/images}/serverSystem.jpg (100%) rename {images => legacy/images}/settings.gif (100%) rename {images => legacy/images}/settingsAdminProf.jpg (100%) rename {images => legacy/images}/signUp.jpg (100%) rename {images => legacy/images}/sort_table_bg.gif (100%) rename {images => legacy/images}/stars/star0.gif (100%) rename {images => legacy/images}/stars/star1.gif (100%) rename {images => legacy/images}/stars/star2.gif (100%) rename {images => legacy/images}/stars/star3.gif (100%) rename {images => legacy/images}/stars/star4.gif (100%) rename {images => legacy/images}/stars/star5.gif (100%) rename {images => legacy/images}/stars/starneg1.gif (100%) rename {images => legacy/images}/stars/starneg2.gif (100%) rename {images => legacy/images}/stars/starneg3.gif (100%) rename {images => legacy/images}/stars/starneg4.gif (100%) rename {images => legacy/images}/stars/starneg5.gif (100%) rename {images => legacy/images}/stars/starneg6.gif (100%) rename {images => legacy/images}/stars/starsave.gif (100%) rename {images => legacy/images}/submit.gif (100%) rename {images => legacy/images}/superblogo.gif (100%) rename {images => legacy/images}/support.gif (100%) rename {images => legacy/images}/tab1.png (100%) rename {images => legacy/images}/tab2.png (100%) rename {images => legacy/images}/tab3.png (100%) rename {images => legacy/images}/tab_add.gif (100%) rename {images => legacy/images}/tablebg.gif (100%) rename {images => legacy/images}/tabs/active.jpg (100%) rename {images => legacy/images}/tabs/inactive.jpg (100%) rename {images => legacy/images}/tabs/small_account.jpg (100%) rename {images => legacy/images}/tabs/small_logout.jpg (100%) rename {images => legacy/images}/tabs/small_upgrade.jpg (100%) rename {images => legacy/images}/tabs/subtab_active.jpg (100%) rename {images => legacy/images}/tabs/subtab_inactive.jpg (100%) rename {images => legacy/images}/tests.gif (100%) rename {images => legacy/images}/tests_inline.gif (100%) rename {images => legacy/images}/tiled2c.gif (100%) rename {images => legacy/images}/toolbarImport.jpg (100%) rename {images => legacy/images}/toolbarPreview.jpg (100%) rename {images => legacy/images}/unsubmit.gif (100%) rename {images => legacy/images}/upward.gif (100%) rename {images => legacy/images}/vcard.gif (100%) rename {images => legacy/images}/vip_arrow.gif (100%) rename {images => legacy/images}/vip_banner.gif (100%) rename {images => legacy/images}/wf_error.gif (100%) rename {images => legacy/images}/wizard/bottomLeft.jpg (100%) rename {images => legacy/images}/wizard/bottomRight.jpg (100%) rename {images => legacy/images}/wizard/massImport.jpg (100%) rename {images => legacy/images}/wizard/opaqueLogo.jpg (100%) rename {images => legacy/images}/wizard/professional.jpg (100%) rename {images => legacy/images}/wizard/sectionTopLeft.jpg (100%) rename {images => legacy/images}/wizard/sectionTopRight.jpg (100%) rename {images => legacy/images}/wizard/topLeft.jpg (100%) rename {images => legacy/images}/wizard/topRight.jpg (100%) rename index.php => legacy/index.php (100%) rename installtest.php => legacy/installtest.php (100%) rename installwizard.php => legacy/installwizard.php (100%) rename {js => legacy/js}/activity.js (100%) rename {js => legacy/js}/addressParser.js (100%) rename {js => legacy/js}/backup.js (100%) rename {js => legacy/js}/calendarDateInput.js (100%) rename {js => legacy/js}/candidate.js (100%) rename {js => legacy/js}/candidateParser.js (100%) rename {js => legacy/js}/careerPortalApply.js (100%) rename {js => legacy/js}/careerportal.js (100%) rename {js => legacy/js}/careersPage.js (100%) rename {js => legacy/js}/ckeditor-manager.js (100%) rename {js => legacy/js}/company.js (100%) rename {js => legacy/js}/contact.js (100%) rename {js => legacy/js}/dataGrid.js (100%) rename {js => legacy/js}/dataGridFilters.js (100%) rename {js => legacy/js}/doubleListEditor.js (100%) rename {js => legacy/js}/eeo.js (100%) rename {js => legacy/js}/emailHandler.js (100%) rename {js => legacy/js}/export.js (100%) rename {js => legacy/js}/highlightrows.js (100%) rename {js => legacy/js}/home.js (100%) rename {js => legacy/js}/index.php (100%) rename {js => legacy/js}/install.js (100%) rename {js => legacy/js}/joborder.js (100%) rename {js => legacy/js}/jquery-1.3.2.min.js (100%) rename {js => legacy/js}/lib.js (100%) rename {js => legacy/js}/listEditor.js (100%) rename {js => legacy/js}/lists.js (100%) rename {js => legacy/js}/massImport.js (100%) rename {js => legacy/js}/match.js (100%) rename {js => legacy/js}/pipeline.js (100%) rename {js => legacy/js}/questionnaire.js (100%) rename {js => legacy/js}/quickAction.js (100%) rename {js => legacy/js}/searchAdvanced.js (100%) rename {js => legacy/js}/searchSaved.js (100%) rename {js => legacy/js}/sorttable.js (100%) rename {js => legacy/js}/submodal/close.gif (100%) rename {js => legacy/js}/submodal/loading.html (100%) rename {js => legacy/js}/submodal/subModal.js (100%) rename {js => legacy/js}/suggest.js (100%) rename {js => legacy/js}/sweetTitles.js (100%) rename {js => legacy/js}/wizardIntro.js (100%) rename {lib => legacy/lib}/ACL.php (100%) rename {lib => legacy/lib}/AJAXInterface.php (100%) rename {lib => legacy/lib}/ActivityEntries.php (100%) rename {lib => legacy/lib}/AddressParser.php (100%) rename {lib => legacy/lib}/ArrayUtility.php (100%) rename {lib => legacy/lib}/Attachments.php (100%) rename {lib => legacy/lib}/BrowserDetection.php (100%) rename {lib => legacy/lib}/CATSUtility.php (100%) rename {lib => legacy/lib}/Calendar.php (100%) rename {lib => legacy/lib}/Candidates.php (100%) rename {lib => legacy/lib}/CandidatesImport.php (100%) rename {lib => legacy/lib}/CareerPortal.php (100%) rename {lib => legacy/lib}/CommonErrors.php (100%) rename {lib => legacy/lib}/Companies.php (100%) rename {lib => legacy/lib}/CompaniesImport.php (100%) rename {lib => legacy/lib}/Contacts.php (100%) rename {lib => legacy/lib}/ContactsImport.php (100%) rename {lib => legacy/lib}/Dashboard.php (100%) rename {lib => legacy/lib}/DataGrid.php (100%) rename {lib => legacy/lib}/DatabaseConnection.php (100%) rename {lib => legacy/lib}/DatabaseSearch.php (100%) rename {lib => legacy/lib}/DateUtility.php (100%) rename {lib => legacy/lib}/DocumentToText.php (100%) rename {lib => legacy/lib}/EmailTemplates.php (100%) rename {lib => legacy/lib}/Export.php (100%) rename {lib => legacy/lib}/ExtraFields.php (100%) rename {lib => legacy/lib}/FileCompressor.php (100%) rename {lib => legacy/lib}/FileUtility.php (100%) rename {lib => legacy/lib}/GraphGenerator.php (100%) rename {lib => legacy/lib}/Graphs.php (100%) rename {lib => legacy/lib}/HashUtility.php (100%) rename {lib => legacy/lib}/History.php (100%) rename {lib => legacy/lib}/Hooks.php (100%) rename {lib => legacy/lib}/HttpLogger.php (100%) rename {lib => legacy/lib}/IFrameBlank.html (100%) rename {lib => legacy/lib}/ImportUtility.php (100%) rename {lib => legacy/lib}/ImportableEntity.php (100%) rename {lib => legacy/lib}/InfoString.php (100%) rename {lib => legacy/lib}/InstallationTests.php (100%) rename {lib => legacy/lib}/JobOrderStatuses.php (100%) rename {lib => legacy/lib}/JobOrderTypes.php (100%) rename {lib => legacy/lib}/JobOrders.php (100%) rename {lib => legacy/lib}/LDAP.php (100%) rename {lib => legacy/lib}/ListEditor.php (100%) rename {lib => legacy/lib}/LoginActivity.php (100%) rename {lib => legacy/lib}/MRU.php (100%) rename {lib => legacy/lib}/Mailer.php (100%) rename {lib => legacy/lib}/ModuleUtility.php (100%) rename {lib => legacy/lib}/NewVersionCheck.php (100%) rename {lib => legacy/lib}/Pager.php (100%) rename {lib => legacy/lib}/ParseUtility.php (100%) rename {lib => legacy/lib}/Pipelines.php (100%) rename {lib => legacy/lib}/Questionnaire.php (100%) rename {lib => legacy/lib}/QueueProcessor.php (100%) rename {lib => legacy/lib}/ResultSetUtility.php (100%) rename {lib => legacy/lib}/SavedLists.php (100%) rename {lib => legacy/lib}/Search.php (100%) rename {lib => legacy/lib}/Session.php (100%) rename {lib => legacy/lib}/Site.php (100%) rename {lib => legacy/lib}/Statistics.php (100%) rename {lib => legacy/lib}/StringUtility.php (100%) rename {lib => legacy/lib}/SystemInfo.php (100%) rename {lib => legacy/lib}/SystemUtility.php (100%) rename {lib => legacy/lib}/Tags.php (100%) rename {lib => legacy/lib}/Template.php (100%) rename {lib => legacy/lib}/TemplateUtility.php (100%) rename {lib => legacy/lib}/UserInterface.php (100%) rename {lib => legacy/lib}/Users.php (100%) rename {lib => legacy/lib}/VCard.php (100%) rename {lib => legacy/lib}/WebForm.php (100%) rename {lib => legacy/lib}/Width.php (100%) rename {lib => legacy/lib}/Wizard.php (100%) rename {lib => legacy/lib}/XmlJobExport.php (100%) rename {lib => legacy/lib}/ZipLookup.php (100%) rename {lib => legacy/lib}/artichow/AntiSpam.class.php (100%) rename {lib => legacy/lib}/artichow/Artichow.cfg.php (100%) rename {lib => legacy/lib}/artichow/Artichow.class.php (100%) rename {lib => legacy/lib}/artichow/BarPlot.class.php (100%) rename {lib => legacy/lib}/artichow/BarPlotDashboard.class.php (100%) rename {lib => legacy/lib}/artichow/BarPlotPipeline.class.php (100%) rename {lib => legacy/lib}/artichow/Component.class.php (100%) rename {lib => legacy/lib}/artichow/Graph.class.php (100%) rename {lib => legacy/lib}/artichow/Image.class.php (100%) rename {lib => legacy/lib}/artichow/LinePlot.class.php (100%) rename {lib => legacy/lib}/artichow/MathPlot.class.php (100%) rename {lib => legacy/lib}/artichow/Pattern.class.php (100%) rename {lib => legacy/lib}/artichow/Pie.class.php (100%) rename {lib => legacy/lib}/artichow/Plot.class.php (100%) rename {lib => legacy/lib}/artichow/ScatterPlot.class.php (100%) rename {lib => legacy/lib}/artichow/common.php (100%) rename {lib => legacy/lib}/artichow/font/Tuffy.ttf (100%) rename {lib => legacy/lib}/artichow/font/TuffyBold.ttf (100%) rename {lib => legacy/lib}/artichow/font/TuffyBoldItalic.ttf (100%) rename {lib => legacy/lib}/artichow/font/TuffyItalic.ttf (100%) rename {lib => legacy/lib}/artichow/images/book.png (100%) rename {lib => legacy/lib}/artichow/images/paperclip.png (100%) rename {lib => legacy/lib}/artichow/images/star.png (100%) rename {lib => legacy/lib}/artichow/inc/Axis.class.php (100%) rename {lib => legacy/lib}/artichow/inc/Border.class.php (100%) rename {lib => legacy/lib}/artichow/inc/Color.class.php (100%) rename {lib => legacy/lib}/artichow/inc/Drawer.class.php (100%) rename {lib => legacy/lib}/artichow/inc/Font.class.php (100%) rename {lib => legacy/lib}/artichow/inc/Gradient.class.php (100%) rename {lib => legacy/lib}/artichow/inc/Grid.class.php (100%) rename {lib => legacy/lib}/artichow/inc/Label.class.php (100%) rename {lib => legacy/lib}/artichow/inc/Legend.class.php (100%) rename {lib => legacy/lib}/artichow/inc/Mark.class.php (100%) rename {lib => legacy/lib}/artichow/inc/Math.class.php (100%) rename {lib => legacy/lib}/artichow/inc/Shadow.class.php (100%) rename {lib => legacy/lib}/artichow/inc/Text.class.php (100%) rename {lib => legacy/lib}/artichow/inc/Tick.class.php (100%) rename {lib => legacy/lib}/artichow/inc/Tools.class.php (100%) rename {lib => legacy/lib}/artichow/patterns/BarDepth.php (100%) rename {lib => legacy/lib}/artichow/patterns/LightLine.php (100%) rename {lib => legacy/lib}/datagrid/FilterArea.tpl (100%) rename {lib => legacy/lib}/mime.types (100%) rename {config => legacy/lib}/sphinx/STOPWORDS (100%) rename {config/sphinx => legacy/lib/sphinx/conf}/sphinx.conf (100%) rename {temp => legacy/lib/sphinx/index/cats}/empty (100%) rename modules/careers/Openings.tpl => legacy/lib/sphinx/index/cats_delta/empty (100%) mode change 100755 => 100644 rename modules/careers/SearchOpenings.tpl => legacy/lib/sphinx/var/log/empty (100%) mode change 100755 => 100644 rename reports/index.html => legacy/lib/sphinx/var/run/empty (100%) rename main.css => legacy/main.css (100%) rename {modules => legacy/modules}/activity/ActivityDataGrid.tpl (100%) rename {modules => legacy/modules}/activity/ActivityUI.php (100%) rename {modules => legacy/modules}/activity/Search.tpl (100%) rename {modules => legacy/modules}/activity/dataGrids.php (100%) rename {modules => legacy/modules}/activity/validator.js (100%) rename {modules => legacy/modules}/attachments/AttachmentsUI.php (100%) rename {modules => legacy/modules}/calendar/Calendar.css (100%) rename {modules => legacy/modules}/calendar/Calendar.js (100%) rename {modules => legacy/modules}/calendar/Calendar.tpl (100%) rename {modules => legacy/modules}/calendar/CalendarUI.js (100%) rename {modules => legacy/modules}/calendar/CalendarUI.php (100%) rename {modules => legacy/modules}/calendar/Error.tpl (100%) rename {modules => legacy/modules}/calendar/tasks/Reminders.php (100%) rename {modules => legacy/modules}/calendar/tasks/tasks.php (100%) rename {modules => legacy/modules}/calendar/validator.js (100%) rename {modules => legacy/modules}/candidates/Add.tpl (100%) rename {modules => legacy/modules}/candidates/AddActivityScheduleEventModal.tpl (100%) rename {modules => legacy/modules}/candidates/AssignCandidateTagModal.tpl (100%) rename {modules => legacy/modules}/candidates/Candidates.tpl (100%) rename {modules => legacy/modules}/candidates/CandidatesUI.php (100%) rename {modules => legacy/modules}/candidates/ChangeStatusModal.tpl (100%) rename {modules => legacy/modules}/candidates/ConsiderSearchModal.tpl (100%) rename {modules => legacy/modules}/candidates/CreateAttachmentModal.tpl (100%) rename {modules => legacy/modules}/candidates/CreateImageAttachmentModal.tpl (100%) rename {modules => legacy/modules}/candidates/Duplicates.tpl (100%) rename {modules => legacy/modules}/candidates/Edit.tpl (100%) rename {modules => legacy/modules}/candidates/Error.tpl (100%) rename {modules => legacy/modules}/candidates/ErrorModal.tpl (100%) rename {modules => legacy/modules}/candidates/HotList.tpl (100%) rename {modules => legacy/modules}/candidates/LinkDuplicity.tpl (100%) rename {modules => legacy/modules}/candidates/Merge.tpl (100%) rename {modules => legacy/modules}/candidates/Questionnaire.tpl (100%) rename {modules => legacy/modules}/candidates/ResumeView.tpl (100%) rename {modules => legacy/modules}/candidates/Search.tpl (100%) rename {modules => legacy/modules}/candidates/SendEmail.tpl (100%) rename {modules => legacy/modules}/candidates/Show.tpl (100%) rename {modules => legacy/modules}/candidates/activityvalidator.js (100%) rename {modules => legacy/modules}/candidates/dataGrids.php (100%) rename {modules => legacy/modules}/candidates/quickAction-candidates.js (100%) rename {modules => legacy/modules}/candidates/quickAction-duplicates.js (100%) rename {modules => legacy/modules}/candidates/validator.js (100%) rename {modules => legacy/modules}/careers/Blank.tpl (100%) rename {modules => legacy/modules}/careers/Blank2.tpl (100%) rename {modules => legacy/modules}/careers/BlankNoMargin.tpl (100%) rename {modules => legacy/modules}/careers/CareersUI.php (100%) rename {modules => legacy/modules}/careers/Error.tpl (100%) rename scripts/index.php => legacy/modules/careers/Openings.tpl (100%) create mode 100755 legacy/modules/careers/SearchOpenings.tpl rename {modules => legacy/modules}/companies/Add.tpl (100%) rename {modules => legacy/modules}/companies/Companies.tpl (100%) rename {modules => legacy/modules}/companies/CompaniesUI.php (100%) rename {modules => legacy/modules}/companies/CreateAttachmentModal.tpl (100%) rename {modules => legacy/modules}/companies/Edit.tpl (100%) rename {modules => legacy/modules}/companies/Error.tpl (100%) rename {modules => legacy/modules}/companies/ErrorModal.tpl (100%) rename {modules => legacy/modules}/companies/Search.tpl (100%) rename {modules => legacy/modules}/companies/Show.tpl (100%) rename {modules => legacy/modules}/companies/dataGrids.php (100%) rename {modules => legacy/modules}/companies/validator.js (100%) rename {modules => legacy/modules}/contacts/Add.tpl (100%) rename {modules => legacy/modules}/contacts/AddActivityScheduleEventModal.tpl (100%) rename {modules => legacy/modules}/contacts/ColdCallList.tpl (100%) rename {modules => legacy/modules}/contacts/Contacts.tpl (100%) rename {modules => legacy/modules}/contacts/ContactsUI.php (100%) rename {modules => legacy/modules}/contacts/Edit.tpl (100%) rename {modules => legacy/modules}/contacts/Error.tpl (100%) rename {modules => legacy/modules}/contacts/ErrorModal.tpl (100%) rename {modules => legacy/modules}/contacts/Search.tpl (100%) rename {modules => legacy/modules}/contacts/Show.tpl (100%) rename {modules => legacy/modules}/contacts/activityvalidator.js (100%) rename {modules => legacy/modules}/contacts/dataGrids.php (100%) rename {modules => legacy/modules}/contacts/validator.js (100%) rename {modules => legacy/modules}/export/ExportUI.php (100%) rename {modules => legacy/modules}/graphs/GraphsUI.php (100%) rename {modules => legacy/modules}/home/Error.tpl (100%) rename {modules => legacy/modules}/home/FriendlyError.tpl (100%) rename {modules => legacy/modules}/home/Home.tpl (100%) rename {modules => legacy/modules}/home/HomeUI.php (100%) rename {modules => legacy/modules}/home/SearchEverything.tpl (100%) rename {modules => legacy/modules}/home/dataGrids.php (100%) rename {modules => legacy/modules}/import/BulkResumesHelp.tpl (100%) rename {modules => legacy/modules}/import/Error.tpl (100%) rename {modules => legacy/modules}/import/ErrorModal.tpl (100%) rename {modules => legacy/modules}/import/Import.php (100%) rename {modules => legacy/modules}/import/Import.tpl (100%) rename {modules => legacy/modules}/import/Import1.tpl (100%) rename {modules => legacy/modules}/import/Import2.tpl (100%) rename {modules => legacy/modules}/import/ImportCommits.tpl (100%) rename {modules => legacy/modules}/import/ImportRecent.tpl (100%) rename {modules => legacy/modules}/import/ImportResumesBulk.tpl (100%) rename {modules => legacy/modules}/import/ImportUI.php (100%) rename {modules => legacy/modules}/import/MassImport.css (100%) rename {modules => legacy/modules}/import/MassImport.tpl (100%) rename {modules => legacy/modules}/import/MassImportEdit.tpl (100%) rename {modules => legacy/modules}/import/MassImportStep1.tpl (100%) rename {modules => legacy/modules}/import/MassImportStep2.tpl (100%) rename {modules => legacy/modules}/import/MassImportStep3.tpl (100%) rename {modules => legacy/modules}/import/MassImportStep4.tpl (100%) rename {modules => legacy/modules}/import/ajax/processMassImportItem.php (100%) rename {modules => legacy/modules}/import/import.js (100%) rename {modules => legacy/modules}/install/CATSUI.php (100%) rename {modules => legacy/modules}/install/OptionalComponents.php (100%) rename {modules => legacy/modules}/install/Schema.php (100%) rename {modules => legacy/modules}/install/ajax/attachmentsReindex.php (100%) rename {modules => legacy/modules}/install/ajax/attachmentsToThreeDirectory.php (100%) rename {modules => legacy/modules}/install/ajax/maint.php (100%) rename {modules => legacy/modules}/install/ajax/ui.php (100%) rename {modules => legacy/modules}/install/backupDB.php (100%) rename {modules => legacy/modules}/install/install.css (100%) rename {modules => legacy/modules}/install/notinstalled.php (100%) rename {modules => legacy/modules}/install/phpVersion.php (100%) rename {modules => legacy/modules}/install/scripts/114.php (100%) rename {modules => legacy/modules}/install/scripts/150.php (100%) rename {modules => legacy/modules}/install/scripts/359.sql (100%) rename {modules => legacy/modules}/install/scripts/372.php (100%) rename {modules => legacy/modules}/install/testdocs/test.doc (100%) rename {modules => legacy/modules}/install/testdocs/test.html (100%) rename {modules => legacy/modules}/install/testdocs/test.pdf (100%) rename {modules => legacy/modules}/install/testdocs/test.rtf (100%) rename {modules => legacy/modules}/joborders/Add.tpl (100%) rename {modules => legacy/modules}/joborders/AddModalPopup.tpl (100%) rename {modules => legacy/modules}/joborders/ConsiderSearchModal.tpl (100%) rename {modules => legacy/modules}/joborders/CreateAttachmentModal.tpl (100%) rename {modules => legacy/modules}/joborders/Edit.tpl (100%) rename {modules => legacy/modules}/joborders/Error.tpl (100%) rename {modules => legacy/modules}/joborders/ErrorModal.tpl (100%) rename {modules => legacy/modules}/joborders/JobOrders.tpl (100%) rename {modules => legacy/modules}/joborders/JobOrdersUI.php (100%) rename {modules => legacy/modules}/joborders/Search.tpl (100%) rename {modules => legacy/modules}/joborders/Show.tpl (100%) rename {modules => legacy/modules}/joborders/dataGrids.php (100%) rename {modules => legacy/modules}/joborders/validator.js (100%) rename {modules => legacy/modules}/lists/List.tpl (100%) rename {modules => legacy/modules}/lists/Lists.tpl (100%) rename {modules => legacy/modules}/lists/ListsUI.php (100%) rename {modules => legacy/modules}/lists/QuickActionAddToListModal.tpl (100%) rename {modules => legacy/modules}/lists/ajax/addToLists.php (100%) rename {modules => legacy/modules}/lists/ajax/deleteList.php (100%) rename {modules => legacy/modules}/lists/ajax/editListName.php (100%) rename {modules => legacy/modules}/lists/ajax/newList.php (100%) rename {modules => legacy/modules}/lists/dataGrids.php (100%) rename {modules => legacy/modules}/login/ForgotPassword.tpl (100%) rename {modules => legacy/modules}/login/Login.tpl (100%) rename {modules => legacy/modules}/login/LoginUI.php (100%) rename {modules => legacy/modules}/login/NoCookiesModal.tpl (100%) rename {modules => legacy/modules}/login/login.css (100%) rename {modules => legacy/modules}/login/validator.js (100%) rename {modules => legacy/modules}/login/wizard/Email.tpl (100%) rename {modules => legacy/modules}/login/wizard/Intro.tpl (100%) rename {modules => legacy/modules}/login/wizard/Localization.tpl (100%) rename {modules => legacy/modules}/login/wizard/Password.tpl (100%) rename {modules => legacy/modules}/login/wizard/SiteName.tpl (100%) rename {modules => legacy/modules}/login/wizard/Users.tpl (100%) rename {modules => legacy/modules}/queue/QueueUI.php (100%) rename {modules => legacy/modules}/queue/constants.php (100%) rename {modules => legacy/modules}/queue/lib/Task.php (100%) rename {modules => legacy/modules}/queue/tasks.php (100%) rename {modules => legacy/modules}/queue/tasks/CleanExceptions.php (100%) rename {modules => legacy/modules}/queue/tasks/SampleRecurring.php (100%) rename {modules => legacy/modules}/queue/tasks/SampleTask.php (100%) rename {modules => legacy/modules}/queue/tasks/lib/Task.php (100%) rename {modules => legacy/modules}/queue/tasks/tasks.php (100%) rename {modules => legacy/modules}/reports/EEOReport.tpl (100%) rename {modules => legacy/modules}/reports/Error.tpl (100%) rename {modules => legacy/modules}/reports/GraphView.tpl (100%) rename {modules => legacy/modules}/reports/JobOrderReport.tpl (100%) rename {modules => legacy/modules}/reports/NewDataItems.tpl (100%) rename {modules => legacy/modules}/reports/PlacedReport.tpl (100%) rename {modules => legacy/modules}/reports/Reports.tpl (100%) rename {modules => legacy/modules}/reports/ReportsUI.php (100%) rename {modules => legacy/modules}/reports/SubmissionReport.tpl (100%) rename {modules => legacy/modules}/rss/RssUI.php (100%) rename {modules => legacy/modules}/settings/AddUser.tpl (100%) rename {modules => legacy/modules}/settings/Administration.tpl (100%) rename {modules => legacy/modules}/settings/Backup.tpl (100%) rename {modules => legacy/modules}/settings/CareerPortalQuestionnaire.tpl (100%) rename {modules => legacy/modules}/settings/CareerPortalQuestionnaireShow.tpl (100%) rename {modules => legacy/modules}/settings/CareerPortalSettings.tpl (100%) rename {modules => legacy/modules}/settings/CareerPortalTemplateEdit.tpl (100%) rename {modules => legacy/modules}/settings/ChangePassword.tpl (100%) rename {modules => legacy/modules}/settings/CustomizeCalendar.tpl (100%) rename {modules => legacy/modules}/settings/CustomizeExtraFields.tpl (100%) rename {modules => legacy/modules}/settings/CustomizeReports.tpl (100%) rename {modules => legacy/modules}/settings/EEOEOCSettings.tpl (100%) rename {modules => legacy/modules}/settings/EditUser.tpl (100%) rename {modules => legacy/modules}/settings/EmailSettings.tpl (100%) rename {modules => legacy/modules}/settings/EmailTemplates.tpl (100%) rename {modules => legacy/modules}/settings/Error.tpl (100%) rename {modules => legacy/modules}/settings/ItemHistory.tpl (100%) rename {modules => legacy/modules}/settings/Localization.tpl (100%) rename {modules => legacy/modules}/settings/LoginActivity.tpl (100%) rename {modules => legacy/modules}/settings/MyProfile.tpl (100%) rename {modules => legacy/modules}/settings/NewInstallWizard.tpl (100%) rename {modules => legacy/modules}/settings/NewVersionCheck.tpl (100%) rename {modules => legacy/modules}/settings/Passwords.tpl (100%) rename {modules => legacy/modules}/settings/PreviewPage.tpl (100%) rename {modules => legacy/modules}/settings/PreviewPageTop.tpl (100%) rename {modules => legacy/modules}/settings/Settings.js (100%) rename {modules => legacy/modules}/settings/SettingsUI.php (100%) rename {modules => legacy/modules}/settings/ShowUser.tpl (100%) rename {modules => legacy/modules}/settings/SiteName.tpl (100%) rename {modules => legacy/modules}/settings/SystemInformation.tpl (100%) rename {modules => legacy/modules}/settings/Users.tpl (100%) rename {modules => legacy/modules}/settings/ajax/backup.php (100%) rename {modules => legacy/modules}/settings/downloads.css (100%) rename {modules => legacy/modules}/settings/tags.tpl (100%) rename {modules => legacy/modules}/settings/validator.js (100%) rename {modules => legacy/modules}/wizard/Show.tpl (100%) rename {modules => legacy/modules}/wizard/WizardUI.php (100%) rename {modules => legacy/modules}/wizard/style.css (100%) rename {modules => legacy/modules}/wizard/wizard.js (100%) rename {modules => legacy/modules}/xml/XmlUI.php (100%) rename {modules => legacy/modules}/xml/xml_templates/indeed.xtpl (100%) rename {modules => legacy/modules}/xml/xml_templates/rss.xtpl (100%) rename {modules => legacy/modules}/xml/xml_templates/simplyhired.xtpl (100%) rename not-ie.css => legacy/not-ie.css (100%) rename {optional-updates => legacy/optional-updates}/latest-sphinx-search/README.MD (100%) rename {optional-updates => legacy/optional-updates}/latest-sphinx-search/Search.php (100%) rename {optional-updates => legacy/optional-updates}/latest-sphinx-search/config.php (100%) rename {optional-updates => legacy/optional-updates}/latest-sphinx-search/sphinx.conf (100%) rename phpunit.xml.dist => legacy/phpunit.xml.dist (100%) rename rebuild_old_docs.php => legacy/rebuild_old_docs.php (100%) create mode 100644 legacy/reports/index.html rename robots.txt => legacy/robots.txt (100%) rename {rss => legacy/rss}/index.php (100%) rename {scripts => legacy/scripts}/countcode.sh (100%) rename {scripts => legacy/scripts}/countfilecode.awk (100%) create mode 100755 legacy/scripts/index.php rename {scripts => legacy/scripts}/killwhitespace.sh (100%) rename {scripts => legacy/scripts}/makeBackup.php (100%) rename {scripts => legacy/scripts}/mysql_get_prod_db.sh (100%) rename {scripts => legacy/scripts}/newversion.sh (100%) rename {scripts => legacy/scripts}/sphinx_reindex.sh (100%) rename {scripts => legacy/scripts}/sphinx_restart.sh (100%) rename {scripts => legacy/scripts}/sphinx_rotate.sh (100%) rename {scripts => legacy/scripts}/sphinx_update_delta.sh (100%) rename {scripts => legacy/scripts}/sphinxtest.php (100%) rename {scripts => legacy/scripts}/storeDeletedAttachments.sh (100%) rename {scripts => legacy/scripts}/svnkeywords.sh (100%) rename {src => legacy/src}/OpenCATS/Entity/Company.php (100%) rename {src => legacy/src}/OpenCATS/Entity/CompanyRepository.php (100%) rename {src => legacy/src}/OpenCATS/Entity/CompanyRepositoryException.php (100%) rename {src => legacy/src}/OpenCATS/Entity/JobOrder.php (100%) rename {src => legacy/src}/OpenCATS/Entity/JobOrderRepository.php (100%) rename {src => legacy/src}/OpenCATS/Entity/JobOrderRepositoryException.php (100%) rename {src => legacy/src}/OpenCATS/Tests/Behat/BrowserKit/StreamHttpBrowser.php (100%) rename {src => legacy/src}/OpenCATS/Tests/Behat/ServiceContainer/Driver/BrowserKitFactory.php (100%) rename {src => legacy/src}/OpenCATS/Tests/Behat/ServiceContainer/MinkExtension.php (100%) rename {src => legacy/src}/OpenCATS/Tests/Fixtures/SampleText.txt (100%) rename {src => legacy/src}/OpenCATS/Tests/IntegrationTests/DatabaseConnectionTest.php (100%) rename {src => legacy/src}/OpenCATS/Tests/IntegrationTests/DatabaseSearchTest.php (100%) rename {src => legacy/src}/OpenCATS/Tests/IntegrationTests/DatabaseTestCase.php (100%) rename {src => legacy/src}/OpenCATS/Tests/UnitTests/AJAXInterfaceTest.php (100%) rename {src => legacy/src}/OpenCATS/Tests/UnitTests/AddressParserTest.php (100%) rename {src => legacy/src}/OpenCATS/Tests/UnitTests/ArrayUtilityTest.php (100%) rename {src => legacy/src}/OpenCATS/Tests/UnitTests/BrowserDetectionTest.php (100%) rename {src => legacy/src}/OpenCATS/Tests/UnitTests/CompanyRepositoryTest.php (100%) rename {src => legacy/src}/OpenCATS/Tests/UnitTests/CompanyTest.php (100%) rename {src => legacy/src}/OpenCATS/Tests/UnitTests/DateUtilityTest.php (100%) rename {src => legacy/src}/OpenCATS/Tests/UnitTests/FileUtilityTest.php (100%) rename {src => legacy/src}/OpenCATS/Tests/UnitTests/JobOrderTest.php (100%) rename {src => legacy/src}/OpenCATS/Tests/UnitTests/ResultSetUtilityTest.php (100%) rename {src => legacy/src}/OpenCATS/Tests/UnitTests/SessionCSRFTest.php (100%) rename {src => legacy/src}/OpenCATS/Tests/UnitTests/StringUtilityTest.php (100%) rename {src => legacy/src}/OpenCATS/Tests/UnitTests/TemplateEscapeTest.php (100%) rename {src => legacy/src}/OpenCATS/Tests/UnitTests/VCardTest.php (100%) rename {src => legacy/src}/OpenCATS/Tests/bootstrap.php (100%) rename {src => legacy/src}/OpenCATS/UI/CandidateDuplicateQuickActionMenu.php (100%) rename {src => legacy/src}/OpenCATS/UI/CandidateQuickActionMenu.php (100%) rename {src => legacy/src}/OpenCATS/UI/QuickActionMenu.php (100%) create mode 100644 legacy/temp/empty rename {test => legacy/test}/behat.yml (100%) rename {test => legacy/test}/config.php (100%) rename {test => legacy/test}/data/securityTests.sql (100%) rename {test => legacy/test}/features/GET_POST_requestsSecurity.feature (100%) rename {test => legacy/test}/features/activities.feature (100%) rename {test => legacy/test}/features/bootstrap/FeatureContext.php (100%) rename {test => legacy/test}/features/bootstrap/SecurityContext.php (100%) rename {test => legacy/test}/features/candidate-filters.feature (100%) rename {test => legacy/test}/features/customize-extra-fields.feature (100%) rename {test => legacy/test}/features/job-orders.feature (100%) rename {test => legacy/test}/features/login.feature (100%) rename {test => legacy/test}/features/moduleMainPagesSecurity.feature (100%) rename {test => legacy/test}/features/moduleSubPagesSecurity.feature (100%) rename {test => legacy/test}/runAllTests.sh (100%) rename {test => legacy/test}/scripts/securityTestData.sh (100%) rename {test => legacy/test}/scripts/waitForDb.php (100%) rename {upload => legacy/upload}/.htaccess (100%) rename {wsdl => legacy/wsdl}/parse.wsdl (100%) rename {wsdl => legacy/wsdl}/status.wsdl (100%) rename {xml => legacy/xml}/index.php (100%) diff --git a/.gitignore b/legacy/.gitignore similarity index 77% rename from .gitignore rename to legacy/.gitignore index 21eec71e7..f44ee9c4c 100644 --- a/.gitignore +++ b/legacy/.gitignore @@ -6,7 +6,10 @@ docker/data/* docker/persist/* vendor/* attachments/* +!attachments/.htaccess +!attachments/index.php temp/* +!temp/empty uploads/* # Ignore Mac DS_Store files .DS_Store diff --git a/.htaccess b/legacy/.htaccess similarity index 100% rename from .htaccess rename to legacy/.htaccess diff --git a/Error.tpl b/legacy/Error.tpl similarity index 100% rename from Error.tpl rename to legacy/Error.tpl diff --git a/QueueCLI.php b/legacy/QueueCLI.php similarity index 100% rename from QueueCLI.php rename to legacy/QueueCLI.php diff --git a/README-testing.md b/legacy/README-testing.md similarity index 100% rename from README-testing.md rename to legacy/README-testing.md diff --git a/ajax.php b/legacy/ajax.php similarity index 100% rename from ajax.php rename to legacy/ajax.php diff --git a/ajax/deleteActivity.php b/legacy/ajax/deleteActivity.php similarity index 100% rename from ajax/deleteActivity.php rename to legacy/ajax/deleteActivity.php diff --git a/ajax/editActivity.php b/legacy/ajax/editActivity.php similarity index 100% rename from ajax/editActivity.php rename to legacy/ajax/editActivity.php diff --git a/ajax/getCandidateIdByEmail.php b/legacy/ajax/getCandidateIdByEmail.php similarity index 100% rename from ajax/getCandidateIdByEmail.php rename to legacy/ajax/getCandidateIdByEmail.php diff --git a/ajax/getCandidateIdByPhone.php b/legacy/ajax/getCandidateIdByPhone.php similarity index 100% rename from ajax/getCandidateIdByPhone.php rename to legacy/ajax/getCandidateIdByPhone.php diff --git a/ajax/getCompanyContacts.php b/legacy/ajax/getCompanyContacts.php similarity index 100% rename from ajax/getCompanyContacts.php rename to legacy/ajax/getCompanyContacts.php diff --git a/ajax/getCompanyLocation.php b/legacy/ajax/getCompanyLocation.php similarity index 100% rename from ajax/getCompanyLocation.php rename to legacy/ajax/getCompanyLocation.php diff --git a/ajax/getCompanyLocationAndDepartments.php b/legacy/ajax/getCompanyLocationAndDepartments.php similarity index 100% rename from ajax/getCompanyLocationAndDepartments.php rename to legacy/ajax/getCompanyLocationAndDepartments.php diff --git a/ajax/getCompanyNames.php b/legacy/ajax/getCompanyNames.php similarity index 100% rename from ajax/getCompanyNames.php rename to legacy/ajax/getCompanyNames.php diff --git a/ajax/getDataGridPager.php b/legacy/ajax/getDataGridPager.php similarity index 100% rename from ajax/getDataGridPager.php rename to legacy/ajax/getDataGridPager.php diff --git a/ajax/getDataItemJobOrders.php b/legacy/ajax/getDataItemJobOrders.php similarity index 100% rename from ajax/getDataItemJobOrders.php rename to legacy/ajax/getDataItemJobOrders.php diff --git a/ajax/getParsedAddress.php b/legacy/ajax/getParsedAddress.php similarity index 100% rename from ajax/getParsedAddress.php rename to legacy/ajax/getParsedAddress.php diff --git a/ajax/getPipelineDetails.php b/legacy/ajax/getPipelineDetails.php similarity index 100% rename from ajax/getPipelineDetails.php rename to legacy/ajax/getPipelineDetails.php diff --git a/ajax/getPipelineJobOrder.php b/legacy/ajax/getPipelineJobOrder.php similarity index 100% rename from ajax/getPipelineJobOrder.php rename to legacy/ajax/getPipelineJobOrder.php diff --git a/ajax/getReportHTML.php b/legacy/ajax/getReportHTML.php similarity index 100% rename from ajax/getReportHTML.php rename to legacy/ajax/getReportHTML.php diff --git a/ajax/replaceTemplateTags.php b/legacy/ajax/replaceTemplateTags.php similarity index 100% rename from ajax/replaceTemplateTags.php rename to legacy/ajax/replaceTemplateTags.php diff --git a/ajax/setCandidateJobOrderRating.php b/legacy/ajax/setCandidateJobOrderRating.php similarity index 100% rename from ajax/setCandidateJobOrderRating.php rename to legacy/ajax/setCandidateJobOrderRating.php diff --git a/ajax/setColumnWidth.php b/legacy/ajax/setColumnWidth.php similarity index 100% rename from ajax/setColumnWidth.php rename to legacy/ajax/setColumnWidth.php diff --git a/ajax/showTemplate.php b/legacy/ajax/showTemplate.php similarity index 100% rename from ajax/showTemplate.php rename to legacy/ajax/showTemplate.php diff --git a/ajax/testEmailSettings.php b/legacy/ajax/testEmailSettings.php similarity index 100% rename from ajax/testEmailSettings.php rename to legacy/ajax/testEmailSettings.php diff --git a/ajax/zipLookup.php b/legacy/ajax/zipLookup.php similarity index 100% rename from ajax/zipLookup.php rename to legacy/ajax/zipLookup.php diff --git a/careers/.htaccess b/legacy/careers/.htaccess similarity index 100% rename from careers/.htaccess rename to legacy/careers/.htaccess diff --git a/careers/index.php b/legacy/careers/index.php similarity index 100% rename from careers/index.php rename to legacy/careers/index.php diff --git a/careersPage.css b/legacy/careersPage.css similarity index 100% rename from careersPage.css rename to legacy/careersPage.css diff --git a/composer.json b/legacy/composer.json similarity index 100% rename from composer.json rename to legacy/composer.json diff --git a/composer.lock b/legacy/composer.lock similarity index 100% rename from composer.lock rename to legacy/composer.lock diff --git a/config.php b/legacy/config.php similarity index 100% rename from config.php rename to legacy/config.php diff --git a/constants.php b/legacy/constants.php similarity index 100% rename from constants.php rename to legacy/constants.php diff --git a/db/cats_schema.sql b/legacy/db/cats_schema.sql similarity index 100% rename from db/cats_schema.sql rename to legacy/db/cats_schema.sql diff --git a/db/cats_testdata.bak b/legacy/db/cats_testdata.bak similarity index 100% rename from db/cats_testdata.bak rename to legacy/db/cats_testdata.bak diff --git a/db/upgrade-0.5.0-0.5.1.sql b/legacy/db/upgrade-0.5.0-0.5.1.sql similarity index 100% rename from db/upgrade-0.5.0-0.5.1.sql rename to legacy/db/upgrade-0.5.0-0.5.1.sql diff --git a/db/upgrade-0.5.1-0.5.2.sql b/legacy/db/upgrade-0.5.1-0.5.2.sql similarity index 100% rename from db/upgrade-0.5.1-0.5.2.sql rename to legacy/db/upgrade-0.5.1-0.5.2.sql diff --git a/db/upgrade-0.5.2-0.5.5.sql b/legacy/db/upgrade-0.5.2-0.5.5.sql similarity index 100% rename from db/upgrade-0.5.2-0.5.5.sql rename to legacy/db/upgrade-0.5.2-0.5.5.sql diff --git a/db/upgrade-0.5.5-0.6.x.sql b/legacy/db/upgrade-0.5.5-0.6.x.sql similarity index 100% rename from db/upgrade-0.5.5-0.6.x.sql rename to legacy/db/upgrade-0.5.5-0.6.x.sql diff --git a/db/upgrade-0.6.x-0.7.0.sql b/legacy/db/upgrade-0.6.x-0.7.0.sql similarity index 100% rename from db/upgrade-0.6.x-0.7.0.sql rename to legacy/db/upgrade-0.6.x-0.7.0.sql diff --git a/db/upgrade-0.9.4-0.9.5.sql b/legacy/db/upgrade-0.9.4-0.9.5.sql similarity index 100% rename from db/upgrade-0.9.4-0.9.5.sql rename to legacy/db/upgrade-0.9.4-0.9.5.sql diff --git a/db/upgrade-zipcodes.sql b/legacy/db/upgrade-zipcodes.sql similarity index 100% rename from db/upgrade-zipcodes.sql rename to legacy/db/upgrade-zipcodes.sql diff --git a/docker/docker-compose-test.yml b/legacy/docker/docker-compose-test.yml similarity index 100% rename from docker/docker-compose-test.yml rename to legacy/docker/docker-compose-test.yml diff --git a/docker/docker-compose.yml b/legacy/docker/docker-compose.yml similarity index 100% rename from docker/docker-compose.yml rename to legacy/docker/docker-compose.yml diff --git a/ie.css b/legacy/ie.css similarity index 100% rename from ie.css rename to legacy/ie.css diff --git a/images/CATS-powered.gif b/legacy/images/CATS-powered.gif similarity index 100% rename from images/CATS-powered.gif rename to legacy/images/CATS-powered.gif diff --git a/images/CATS-sig.gif b/legacy/images/CATS-sig.gif similarity index 100% rename from images/CATS-sig.gif rename to legacy/images/CATS-sig.gif diff --git a/images/actions/add.gif b/legacy/images/actions/add.gif similarity index 100% rename from images/actions/add.gif rename to legacy/images/actions/add.gif diff --git a/images/actions/add_contact.gif b/legacy/images/actions/add_contact.gif similarity index 100% rename from images/actions/add_contact.gif rename to legacy/images/actions/add_contact.gif diff --git a/images/actions/add_job_order.gif b/legacy/images/actions/add_job_order.gif similarity index 100% rename from images/actions/add_job_order.gif rename to legacy/images/actions/add_job_order.gif diff --git a/images/actions/add_small.gif b/legacy/images/actions/add_small.gif similarity index 100% rename from images/actions/add_small.gif rename to legacy/images/actions/add_small.gif diff --git a/images/actions/add_to_pipeline.gif b/legacy/images/actions/add_to_pipeline.gif similarity index 100% rename from images/actions/add_to_pipeline.gif rename to legacy/images/actions/add_to_pipeline.gif diff --git a/images/actions/blank.gif b/legacy/images/actions/blank.gif similarity index 100% rename from images/actions/blank.gif rename to legacy/images/actions/blank.gif diff --git a/images/actions/check_all.gif b/legacy/images/actions/check_all.gif similarity index 100% rename from images/actions/check_all.gif rename to legacy/images/actions/check_all.gif diff --git a/images/actions/delete.gif b/legacy/images/actions/delete.gif similarity index 100% rename from images/actions/delete.gif rename to legacy/images/actions/delete.gif diff --git a/images/actions/delete_small.gif b/legacy/images/actions/delete_small.gif similarity index 100% rename from images/actions/delete_small.gif rename to legacy/images/actions/delete_small.gif diff --git a/images/actions/duplicates.png b/legacy/images/actions/duplicates.png similarity index 100% rename from images/actions/duplicates.png rename to legacy/images/actions/duplicates.png diff --git a/images/actions/edit.gif b/legacy/images/actions/edit.gif similarity index 100% rename from images/actions/edit.gif rename to legacy/images/actions/edit.gif diff --git a/images/actions/email.gif b/legacy/images/actions/email.gif similarity index 100% rename from images/actions/email.gif rename to legacy/images/actions/email.gif diff --git a/images/actions/email_no.gif b/legacy/images/actions/email_no.gif similarity index 100% rename from images/actions/email_no.gif rename to legacy/images/actions/email_no.gif diff --git a/images/actions/info.gif b/legacy/images/actions/info.gif similarity index 100% rename from images/actions/info.gif rename to legacy/images/actions/info.gif diff --git a/images/actions/job_order.gif b/legacy/images/actions/job_order.gif similarity index 100% rename from images/actions/job_order.gif rename to legacy/images/actions/job_order.gif diff --git a/images/actions/print.gif b/legacy/images/actions/print.gif similarity index 100% rename from images/actions/print.gif rename to legacy/images/actions/print.gif diff --git a/images/actions/screen.gif b/legacy/images/actions/screen.gif similarity index 100% rename from images/actions/screen.gif rename to legacy/images/actions/screen.gif diff --git a/images/actions/screen_grey.gif b/legacy/images/actions/screen_grey.gif similarity index 100% rename from images/actions/screen_grey.gif rename to legacy/images/actions/screen_grey.gif diff --git a/images/actions/uncheck_all.gif b/legacy/images/actions/uncheck_all.gif similarity index 100% rename from images/actions/uncheck_all.gif rename to legacy/images/actions/uncheck_all.gif diff --git a/images/actions/view.gif b/legacy/images/actions/view.gif similarity index 100% rename from images/actions/view.gif rename to legacy/images/actions/view.gif diff --git a/images/active_tab_gradient.gif b/legacy/images/active_tab_gradient.gif similarity index 100% rename from images/active_tab_gradient.gif rename to legacy/images/active_tab_gradient.gif diff --git a/images/activities.gif b/legacy/images/activities.gif similarity index 100% rename from images/activities.gif rename to legacy/images/activities.gif diff --git a/images/applicationLogo.jpg b/legacy/images/applicationLogo.jpg similarity index 100% rename from images/applicationLogo.jpg rename to legacy/images/applicationLogo.jpg diff --git a/images/arrow_down.gif b/legacy/images/arrow_down.gif similarity index 100% rename from images/arrow_down.gif rename to legacy/images/arrow_down.gif diff --git a/images/arrow_down.png b/legacy/images/arrow_down.png similarity index 100% rename from images/arrow_down.png rename to legacy/images/arrow_down.png diff --git a/images/arrow_left_24.gif b/legacy/images/arrow_left_24.gif similarity index 100% rename from images/arrow_left_24.gif rename to legacy/images/arrow_left_24.gif diff --git a/images/arrow_next.gif b/legacy/images/arrow_next.gif similarity index 100% rename from images/arrow_next.gif rename to legacy/images/arrow_next.gif diff --git a/images/arrow_next.png b/legacy/images/arrow_next.png similarity index 100% rename from images/arrow_next.png rename to legacy/images/arrow_next.png diff --git a/images/arrow_right_24.gif b/legacy/images/arrow_right_24.gif similarity index 100% rename from images/arrow_right_24.gif rename to legacy/images/arrow_right_24.gif diff --git a/images/attachment.gif b/legacy/images/attachment.gif similarity index 100% rename from images/attachment.gif rename to legacy/images/attachment.gif diff --git a/images/bell.gif b/legacy/images/bell.gif similarity index 100% rename from images/bell.gif rename to legacy/images/bell.gif diff --git a/images/bgBlue.gif b/legacy/images/bgBlue.gif similarity index 100% rename from images/bgBlue.gif rename to legacy/images/bgBlue.gif diff --git a/images/bgGrayForm.gif b/legacy/images/bgGrayForm.gif similarity index 100% rename from images/bgGrayForm.gif rename to legacy/images/bgGrayForm.gif diff --git a/images/blue_check.gif b/legacy/images/blue_check.gif similarity index 100% rename from images/blue_check.gif rename to legacy/images/blue_check.gif diff --git a/images/blue_gradient.jpg b/legacy/images/blue_gradient.jpg similarity index 100% rename from images/blue_gradient.jpg rename to legacy/images/blue_gradient.jpg diff --git a/images/bullet_black.gif b/legacy/images/bullet_black.gif similarity index 100% rename from images/bullet_black.gif rename to legacy/images/bullet_black.gif diff --git a/images/button_bg.gif b/legacy/images/button_bg.gif similarity index 100% rename from images/button_bg.gif rename to legacy/images/button_bg.gif diff --git a/images/button_bg_down.gif b/legacy/images/button_bg_down.gif similarity index 100% rename from images/button_bg_down.gif rename to legacy/images/button_bg_down.gif diff --git a/images/calendar.gif b/legacy/images/calendar.gif similarity index 100% rename from images/calendar.gif rename to legacy/images/calendar.gif diff --git a/images/calendar1_bg.gif b/legacy/images/calendar1_bg.gif similarity index 100% rename from images/calendar1_bg.gif rename to legacy/images/calendar1_bg.gif diff --git a/images/calendar_add.gif b/legacy/images/calendar_add.gif similarity index 100% rename from images/calendar_add.gif rename to legacy/images/calendar_add.gif diff --git a/images/candidate.gif b/legacy/images/candidate.gif similarity index 100% rename from images/candidate.gif rename to legacy/images/candidate.gif diff --git a/images/candidate_inline.gif b/legacy/images/candidate_inline.gif similarity index 100% rename from images/candidate_inline.gif rename to legacy/images/candidate_inline.gif diff --git a/images/candidate_small.gif b/legacy/images/candidate_small.gif similarity index 100% rename from images/candidate_small.gif rename to legacy/images/candidate_small.gif diff --git a/images/candidate_tiny.gif b/legacy/images/candidate_tiny.gif similarity index 100% rename from images/candidate_tiny.gif rename to legacy/images/candidate_tiny.gif diff --git a/images/careers_apply-o.gif b/legacy/images/careers_apply-o.gif similarity index 100% rename from images/careers_apply-o.gif rename to legacy/images/careers_apply-o.gif diff --git a/images/careers_apply.gif b/legacy/images/careers_apply.gif similarity index 100% rename from images/careers_apply.gif rename to legacy/images/careers_apply.gif diff --git a/images/careers_arrow.gif b/legacy/images/careers_arrow.gif similarity index 100% rename from images/careers_arrow.gif rename to legacy/images/careers_arrow.gif diff --git a/images/careers_cats.gif b/legacy/images/careers_cats.gif similarity index 100% rename from images/careers_cats.gif rename to legacy/images/careers_cats.gif diff --git a/images/careers_populate.gif b/legacy/images/careers_populate.gif similarity index 100% rename from images/careers_populate.gif rename to legacy/images/careers_populate.gif diff --git a/images/careers_powered.gif b/legacy/images/careers_powered.gif similarity index 100% rename from images/careers_powered.gif rename to legacy/images/careers_powered.gif diff --git a/images/careers_return-o.gif b/legacy/images/careers_return-o.gif similarity index 100% rename from images/careers_return-o.gif rename to legacy/images/careers_return-o.gif diff --git a/images/careers_return.gif b/legacy/images/careers_return.gif similarity index 100% rename from images/careers_return.gif rename to legacy/images/careers_return.gif diff --git a/images/careers_rss-o.gif b/legacy/images/careers_rss-o.gif similarity index 100% rename from images/careers_rss-o.gif rename to legacy/images/careers_rss-o.gif diff --git a/images/careers_rss.gif b/legacy/images/careers_rss.gif similarity index 100% rename from images/careers_rss.gif rename to legacy/images/careers_rss.gif diff --git a/images/careers_search-o.gif b/legacy/images/careers_search-o.gif similarity index 100% rename from images/careers_search-o.gif rename to legacy/images/careers_search-o.gif diff --git a/images/careers_search.gif b/legacy/images/careers_search.gif similarity index 100% rename from images/careers_search.gif rename to legacy/images/careers_search.gif diff --git a/images/careers_share-o.gif b/legacy/images/careers_share-o.gif similarity index 100% rename from images/careers_share-o.gif rename to legacy/images/careers_share-o.gif diff --git a/images/careers_share.gif b/legacy/images/careers_share.gif similarity index 100% rename from images/careers_share.gif rename to legacy/images/careers_share.gif diff --git a/images/careers_show-o.gif b/legacy/images/careers_show-o.gif similarity index 100% rename from images/careers_show-o.gif rename to legacy/images/careers_show-o.gif diff --git a/images/careers_show.gif b/legacy/images/careers_show.gif similarity index 100% rename from images/careers_show.gif rename to legacy/images/careers_show.gif diff --git a/images/careers_submit-o.gif b/legacy/images/careers_submit-o.gif similarity index 100% rename from images/careers_submit-o.gif rename to legacy/images/careers_submit-o.gif diff --git a/images/careers_submit.gif b/legacy/images/careers_submit.gif similarity index 100% rename from images/careers_submit.gif rename to legacy/images/careers_submit.gif diff --git a/images/cats_icon.gif b/legacy/images/cats_icon.gif similarity index 100% rename from images/cats_icon.gif rename to legacy/images/cats_icon.gif diff --git a/images/cats_logo.jpg b/legacy/images/cats_logo.jpg similarity index 100% rename from images/cats_logo.jpg rename to legacy/images/cats_logo.jpg diff --git a/images/cats_small_ad.jpg b/legacy/images/cats_small_ad.jpg similarity index 100% rename from images/cats_small_ad.jpg rename to legacy/images/cats_small_ad.jpg diff --git a/images/checkbox.gif b/legacy/images/checkbox.gif similarity index 100% rename from images/checkbox.gif rename to legacy/images/checkbox.gif diff --git a/images/checkbox_blank.gif b/legacy/images/checkbox_blank.gif similarity index 100% rename from images/checkbox_blank.gif rename to legacy/images/checkbox_blank.gif diff --git a/images/cognizo-logo.jpg b/legacy/images/cognizo-logo.jpg similarity index 100% rename from images/cognizo-logo.jpg rename to legacy/images/cognizo-logo.jpg diff --git a/images/companies.gif b/legacy/images/companies.gif similarity index 100% rename from images/companies.gif rename to legacy/images/companies.gif diff --git a/images/consider.gif b/legacy/images/consider.gif similarity index 100% rename from images/consider.gif rename to legacy/images/consider.gif diff --git a/images/contact.gif b/legacy/images/contact.gif similarity index 100% rename from images/contact.gif rename to legacy/images/contact.gif diff --git a/images/contact_small.gif b/legacy/images/contact_small.gif similarity index 100% rename from images/contact_small.gif rename to legacy/images/contact_small.gif diff --git a/images/copyArrow-d.jpg b/legacy/images/copyArrow-d.jpg similarity index 100% rename from images/copyArrow-d.jpg rename to legacy/images/copyArrow-d.jpg diff --git a/images/copyArrow.jpg b/legacy/images/copyArrow.jpg similarity index 100% rename from images/copyArrow.jpg rename to legacy/images/copyArrow.jpg diff --git a/images/copyBg-d.jpg b/legacy/images/copyBg-d.jpg similarity index 100% rename from images/copyBg-d.jpg rename to legacy/images/copyBg-d.jpg diff --git a/images/copyBg.jpg b/legacy/images/copyBg.jpg similarity index 100% rename from images/copyBg.jpg rename to legacy/images/copyBg.jpg diff --git a/images/copyBottom-d.jpg b/legacy/images/copyBottom-d.jpg similarity index 100% rename from images/copyBottom-d.jpg rename to legacy/images/copyBottom-d.jpg diff --git a/images/copyBottom.jpg b/legacy/images/copyBottom.jpg similarity index 100% rename from images/copyBottom.jpg rename to legacy/images/copyBottom.jpg diff --git a/images/copyTemplate.psd b/legacy/images/copyTemplate.psd similarity index 100% rename from images/copyTemplate.psd rename to legacy/images/copyTemplate.psd diff --git a/images/copyTop-d.jpg b/legacy/images/copyTop-d.jpg similarity index 100% rename from images/copyTop-d.jpg rename to legacy/images/copyTop-d.jpg diff --git a/images/copyTop.jpg b/legacy/images/copyTop.jpg similarity index 100% rename from images/copyTop.jpg rename to legacy/images/copyTop.jpg diff --git a/images/cp_add.gif b/legacy/images/cp_add.gif similarity index 100% rename from images/cp_add.gif rename to legacy/images/cp_add.gif diff --git a/images/cp_back.gif b/legacy/images/cp_back.gif similarity index 100% rename from images/cp_back.gif rename to legacy/images/cp_back.gif diff --git a/images/cp_delete.gif b/legacy/images/cp_delete.gif similarity index 100% rename from images/cp_delete.gif rename to legacy/images/cp_delete.gif diff --git a/images/cp_edit.gif b/legacy/images/cp_edit.gif similarity index 100% rename from images/cp_edit.gif rename to legacy/images/cp_edit.gif diff --git a/images/cp_info.jpg b/legacy/images/cp_info.jpg similarity index 100% rename from images/cp_info.jpg rename to legacy/images/cp_info.jpg diff --git a/images/cp_listing.jpg b/legacy/images/cp_listing.jpg similarity index 100% rename from images/cp_listing.jpg rename to legacy/images/cp_listing.jpg diff --git a/images/cp_questionnaire.jpg b/legacy/images/cp_questionnaire.jpg similarity index 100% rename from images/cp_questionnaire.jpg rename to legacy/images/cp_questionnaire.jpg diff --git a/images/cp_resume.jpg b/legacy/images/cp_resume.jpg similarity index 100% rename from images/cp_resume.jpg rename to legacy/images/cp_resume.jpg diff --git a/images/cp_save.gif b/legacy/images/cp_save.gif similarity index 100% rename from images/cp_save.gif rename to legacy/images/cp_save.gif diff --git a/images/cross.gif b/legacy/images/cross.gif similarity index 100% rename from images/cross.gif rename to legacy/images/cross.gif diff --git a/images/customsearch.jpg b/legacy/images/customsearch.jpg similarity index 100% rename from images/customsearch.jpg rename to legacy/images/customsearch.jpg diff --git a/images/customsearch2.jpg b/legacy/images/customsearch2.jpg similarity index 100% rename from images/customsearch2.jpg rename to legacy/images/customsearch2.jpg diff --git a/images/dashboard_preview/activity.png b/legacy/images/dashboard_preview/activity.png similarity index 100% rename from images/dashboard_preview/activity.png rename to legacy/images/dashboard_preview/activity.png diff --git a/images/dashboard_preview/candidates.png b/legacy/images/dashboard_preview/candidates.png similarity index 100% rename from images/dashboard_preview/candidates.png rename to legacy/images/dashboard_preview/candidates.png diff --git a/images/dashboard_preview/image.png b/legacy/images/dashboard_preview/image.png similarity index 100% rename from images/dashboard_preview/image.png rename to legacy/images/dashboard_preview/image.png diff --git a/images/dashboard_preview/joborders.png b/legacy/images/dashboard_preview/joborders.png similarity index 100% rename from images/dashboard_preview/joborders.png rename to legacy/images/dashboard_preview/joborders.png diff --git a/images/dashboard_preview/pipeline.png b/legacy/images/dashboard_preview/pipeline.png similarity index 100% rename from images/dashboard_preview/pipeline.png rename to legacy/images/dashboard_preview/pipeline.png diff --git a/images/dashboard_preview/recent_job_orders.png b/legacy/images/dashboard_preview/recent_job_orders.png similarity index 100% rename from images/dashboard_preview/recent_job_orders.png rename to legacy/images/dashboard_preview/recent_job_orders.png diff --git a/images/dashboard_preview/submissions.png b/legacy/images/dashboard_preview/submissions.png similarity index 100% rename from images/dashboard_preview/submissions.png rename to legacy/images/dashboard_preview/submissions.png diff --git a/images/dashboard_preview/text.png b/legacy/images/dashboard_preview/text.png similarity index 100% rename from images/dashboard_preview/text.png rename to legacy/images/dashboard_preview/text.png diff --git a/images/dashboard_preview/title_bar.png b/legacy/images/dashboard_preview/title_bar.png similarity index 100% rename from images/dashboard_preview/title_bar.png rename to legacy/images/dashboard_preview/title_bar.png diff --git a/images/dashboard_preview/upcoming_events.png b/legacy/images/dashboard_preview/upcoming_events.png similarity index 100% rename from images/dashboard_preview/upcoming_events.png rename to legacy/images/dashboard_preview/upcoming_events.png diff --git a/images/downward.gif b/legacy/images/downward.gif similarity index 100% rename from images/downward.gif rename to legacy/images/downward.gif diff --git a/images/edit.gif b/legacy/images/edit.gif similarity index 100% rename from images/edit.gif rename to legacy/images/edit.gif diff --git a/images/email.gif b/legacy/images/email.gif similarity index 100% rename from images/email.gif rename to legacy/images/email.gif diff --git a/images/email_logo.jpg b/legacy/images/email_logo.jpg similarity index 100% rename from images/email_logo.jpg rename to legacy/images/email_logo.jpg diff --git a/images/favicon.ico b/legacy/images/favicon.ico similarity index 100% rename from images/favicon.ico rename to legacy/images/favicon.ico diff --git a/images/file/avi.gif b/legacy/images/file/avi.gif similarity index 100% rename from images/file/avi.gif rename to legacy/images/file/avi.gif diff --git a/images/file/bmp.gif b/legacy/images/file/bmp.gif similarity index 100% rename from images/file/bmp.gif rename to legacy/images/file/bmp.gif diff --git a/images/file/doc.gif b/legacy/images/file/doc.gif similarity index 100% rename from images/file/doc.gif rename to legacy/images/file/doc.gif diff --git a/images/file/eps.gif b/legacy/images/file/eps.gif similarity index 100% rename from images/file/eps.gif rename to legacy/images/file/eps.gif diff --git a/images/file/gif.gif b/legacy/images/file/gif.gif similarity index 100% rename from images/file/gif.gif rename to legacy/images/file/gif.gif diff --git a/images/file/jpeg.gif b/legacy/images/file/jpeg.gif similarity index 100% rename from images/file/jpeg.gif rename to legacy/images/file/jpeg.gif diff --git a/images/file/jpg.gif b/legacy/images/file/jpg.gif similarity index 100% rename from images/file/jpg.gif rename to legacy/images/file/jpg.gif diff --git a/images/file/pdf.gif b/legacy/images/file/pdf.gif similarity index 100% rename from images/file/pdf.gif rename to legacy/images/file/pdf.gif diff --git a/images/file/png.gif b/legacy/images/file/png.gif similarity index 100% rename from images/file/png.gif rename to legacy/images/file/png.gif diff --git a/images/file/ppt.gif b/legacy/images/file/ppt.gif similarity index 100% rename from images/file/ppt.gif rename to legacy/images/file/ppt.gif diff --git a/images/file/rtf.gif b/legacy/images/file/rtf.gif similarity index 100% rename from images/file/rtf.gif rename to legacy/images/file/rtf.gif diff --git a/images/file/txt.gif b/legacy/images/file/txt.gif similarity index 100% rename from images/file/txt.gif rename to legacy/images/file/txt.gif diff --git a/images/file/wmv.gif b/legacy/images/file/wmv.gif similarity index 100% rename from images/file/wmv.gif rename to legacy/images/file/wmv.gif diff --git a/images/file/xls.gif b/legacy/images/file/xls.gif similarity index 100% rename from images/file/xls.gif rename to legacy/images/file/xls.gif diff --git a/images/file/zip.gif b/legacy/images/file/zip.gif similarity index 100% rename from images/file/zip.gif rename to legacy/images/file/zip.gif diff --git a/images/fileTypeBz2.jpg b/legacy/images/fileTypeBz2.jpg similarity index 100% rename from images/fileTypeBz2.jpg rename to legacy/images/fileTypeBz2.jpg diff --git a/images/fileTypeDoc.jpg b/legacy/images/fileTypeDoc.jpg similarity index 100% rename from images/fileTypeDoc.jpg rename to legacy/images/fileTypeDoc.jpg diff --git a/images/fileTypeGz.jpg b/legacy/images/fileTypeGz.jpg similarity index 100% rename from images/fileTypeGz.jpg rename to legacy/images/fileTypeGz.jpg diff --git a/images/fileTypeHtml.jpg b/legacy/images/fileTypeHtml.jpg similarity index 100% rename from images/fileTypeHtml.jpg rename to legacy/images/fileTypeHtml.jpg diff --git a/images/fileTypePdf.jpg b/legacy/images/fileTypePdf.jpg similarity index 100% rename from images/fileTypePdf.jpg rename to legacy/images/fileTypePdf.jpg diff --git a/images/fileTypeRtf.jpg b/legacy/images/fileTypeRtf.jpg similarity index 100% rename from images/fileTypeRtf.jpg rename to legacy/images/fileTypeRtf.jpg diff --git a/images/fileTypeTar.jpg b/legacy/images/fileTypeTar.jpg similarity index 100% rename from images/fileTypeTar.jpg rename to legacy/images/fileTypeTar.jpg diff --git a/images/fileTypeTxt.jpg b/legacy/images/fileTypeTxt.jpg similarity index 100% rename from images/fileTypeTxt.jpg rename to legacy/images/fileTypeTxt.jpg diff --git a/images/fileTypeZip.jpg b/legacy/images/fileTypeZip.jpg similarity index 100% rename from images/fileTypeZip.jpg rename to legacy/images/fileTypeZip.jpg diff --git a/images/firefox-spread-btn-2.png b/legacy/images/firefox-spread-btn-2.png similarity index 100% rename from images/firefox-spread-btn-2.png rename to legacy/images/firefox-spread-btn-2.png diff --git a/images/folder1_locked.jpg b/legacy/images/folder1_locked.jpg similarity index 100% rename from images/folder1_locked.jpg rename to legacy/images/folder1_locked.jpg diff --git a/images/friendly_error.jpg b/legacy/images/friendly_error.jpg similarity index 100% rename from images/friendly_error.jpg rename to legacy/images/friendly_error.jpg diff --git a/images/google_maps.gif b/legacy/images/google_maps.gif similarity index 100% rename from images/google_maps.gif rename to legacy/images/google_maps.gif diff --git a/images/gradient.gif b/legacy/images/gradient.gif similarity index 100% rename from images/gradient.gif rename to legacy/images/gradient.gif diff --git a/images/graphNoData.jpg b/legacy/images/graphNoData.jpg similarity index 100% rename from images/graphNoData.jpg rename to legacy/images/graphNoData.jpg diff --git a/images/gray_gradient.gif b/legacy/images/gray_gradient.gif similarity index 100% rename from images/gray_gradient.gif rename to legacy/images/gray_gradient.gif diff --git a/images/gray_x.gif b/legacy/images/gray_x.gif similarity index 100% rename from images/gray_x.gif rename to legacy/images/gray_x.gif diff --git a/images/home.gif b/legacy/images/home.gif similarity index 100% rename from images/home.gif rename to legacy/images/home.gif diff --git a/images/i-firefox-small.gif b/legacy/images/i-firefox-small.gif similarity index 100% rename from images/i-firefox-small.gif rename to legacy/images/i-firefox-small.gif diff --git a/images/i-firefox.gif b/legacy/images/i-firefox.gif similarity index 100% rename from images/i-firefox.gif rename to legacy/images/i-firefox.gif diff --git a/images/i-ie.gif b/legacy/images/i-ie.gif similarity index 100% rename from images/i-ie.gif rename to legacy/images/i-ie.gif diff --git a/images/i-opera-grayed.gif b/legacy/images/i-opera-grayed.gif similarity index 100% rename from images/i-opera-grayed.gif rename to legacy/images/i-opera-grayed.gif diff --git a/images/i-outlook.gif b/legacy/images/i-outlook.gif similarity index 100% rename from images/i-outlook.gif rename to legacy/images/i-outlook.gif diff --git a/images/i-safari-grayed.gif b/legacy/images/i-safari-grayed.gif similarity index 100% rename from images/i-safari-grayed.gif rename to legacy/images/i-safari-grayed.gif diff --git a/images/i-thunderbird.gif b/legacy/images/i-thunderbird.gif similarity index 100% rename from images/i-thunderbird.gif rename to legacy/images/i-thunderbird.gif diff --git a/images/icon_clock.gif b/legacy/images/icon_clock.gif similarity index 100% rename from images/icon_clock.gif rename to legacy/images/icon_clock.gif diff --git a/images/indicator.gif b/legacy/images/indicator.gif similarity index 100% rename from images/indicator.gif rename to legacy/images/indicator.gif diff --git a/images/indicator2.gif b/legacy/images/indicator2.gif similarity index 100% rename from images/indicator2.gif rename to legacy/images/indicator2.gif diff --git a/images/indicator_small.gif b/legacy/images/indicator_small.gif similarity index 100% rename from images/indicator_small.gif rename to legacy/images/indicator_small.gif diff --git a/images/information.gif b/legacy/images/information.gif similarity index 100% rename from images/information.gif rename to legacy/images/information.gif diff --git a/images/install_logo.gif b/legacy/images/install_logo.gif similarity index 100% rename from images/install_logo.gif rename to legacy/images/install_logo.gif diff --git a/images/interview.gif b/legacy/images/interview.gif similarity index 100% rename from images/interview.gif rename to legacy/images/interview.gif diff --git a/images/job_orders.gif b/legacy/images/job_orders.gif similarity index 100% rename from images/job_orders.gif rename to legacy/images/job_orders.gif diff --git a/images/joborder.gif b/legacy/images/joborder.gif similarity index 100% rename from images/joborder.gif rename to legacy/images/joborder.gif diff --git a/images/key.png b/legacy/images/key.png similarity index 100% rename from images/key.png rename to legacy/images/key.png diff --git a/images/large_error.gif b/legacy/images/large_error.gif similarity index 100% rename from images/large_error.gif rename to legacy/images/large_error.gif diff --git a/images/lightblue_gradient.jpg b/legacy/images/lightblue_gradient.jpg similarity index 100% rename from images/lightblue_gradient.jpg rename to legacy/images/lightblue_gradient.jpg diff --git a/images/lightblue_gradient_15.jpg b/legacy/images/lightblue_gradient_15.jpg similarity index 100% rename from images/lightblue_gradient_15.jpg rename to legacy/images/lightblue_gradient_15.jpg diff --git a/images/loading.gif b/legacy/images/loading.gif similarity index 100% rename from images/loading.gif rename to legacy/images/loading.gif diff --git a/images/login2.jpg b/legacy/images/login2.jpg similarity index 100% rename from images/login2.jpg rename to legacy/images/login2.jpg diff --git a/images/maskBG.gif b/legacy/images/maskBG.gif similarity index 100% rename from images/maskBG.gif rename to legacy/images/maskBG.gif diff --git a/images/massImport.jpg b/legacy/images/massImport.jpg similarity index 100% rename from images/massImport.jpg rename to legacy/images/massImport.jpg diff --git a/images/massResumeImport.jpg b/legacy/images/massResumeImport.jpg similarity index 100% rename from images/massResumeImport.jpg rename to legacy/images/massResumeImport.jpg diff --git a/images/meeting.gif b/legacy/images/meeting.gif similarity index 100% rename from images/meeting.gif rename to legacy/images/meeting.gif diff --git a/images/moveUp-o.gif b/legacy/images/moveUp-o.gif similarity index 100% rename from images/moveUp-o.gif rename to legacy/images/moveUp-o.gif diff --git a/images/moveUp.gif b/legacy/images/moveUp.gif similarity index 100% rename from images/moveUp.gif rename to legacy/images/moveUp.gif diff --git a/images/mru/blank.gif b/legacy/images/mru/blank.gif similarity index 100% rename from images/mru/blank.gif rename to legacy/images/mru/blank.gif diff --git a/images/mru/candidate.gif b/legacy/images/mru/candidate.gif similarity index 100% rename from images/mru/candidate.gif rename to legacy/images/mru/candidate.gif diff --git a/images/mru/company.gif b/legacy/images/mru/company.gif similarity index 100% rename from images/mru/company.gif rename to legacy/images/mru/company.gif diff --git a/images/mru/contact.gif b/legacy/images/mru/contact.gif similarity index 100% rename from images/mru/contact.gif rename to legacy/images/mru/contact.gif diff --git a/images/mru/job_order.gif b/legacy/images/mru/job_order.gif similarity index 100% rename from images/mru/job_order.gif rename to legacy/images/mru/job_order.gif diff --git a/images/mru_background.gif b/legacy/images/mru_background.gif similarity index 100% rename from images/mru_background.gif rename to legacy/images/mru_background.gif diff --git a/images/mycompany.gif b/legacy/images/mycompany.gif similarity index 100% rename from images/mycompany.gif rename to legacy/images/mycompany.gif diff --git a/images/mycompany_small.gif b/legacy/images/mycompany_small.gif similarity index 100% rename from images/mycompany_small.gif rename to legacy/images/mycompany_small.gif diff --git a/images/new_activity_inline.gif b/legacy/images/new_activity_inline.gif similarity index 100% rename from images/new_activity_inline.gif rename to legacy/images/new_activity_inline.gif diff --git a/images/new_browser_inline.gif b/legacy/images/new_browser_inline.gif similarity index 100% rename from images/new_browser_inline.gif rename to legacy/images/new_browser_inline.gif diff --git a/images/new_window.gif b/legacy/images/new_window.gif similarity index 100% rename from images/new_window.gif rename to legacy/images/new_window.gif diff --git a/images/next.gif b/legacy/images/next.gif similarity index 100% rename from images/next.gif rename to legacy/images/next.gif diff --git a/images/noDataByDisability.png b/legacy/images/noDataByDisability.png similarity index 100% rename from images/noDataByDisability.png rename to legacy/images/noDataByDisability.png diff --git a/images/noDataByGender.png b/legacy/images/noDataByGender.png similarity index 100% rename from images/noDataByGender.png rename to legacy/images/noDataByGender.png diff --git a/images/nodata/activitiesTop.jpg b/legacy/images/nodata/activitiesTop.jpg similarity index 100% rename from images/nodata/activitiesTop.jpg rename to legacy/images/nodata/activitiesTop.jpg diff --git a/images/nodata/addMassImport-o.jpg b/legacy/images/nodata/addMassImport-o.jpg similarity index 100% rename from images/nodata/addMassImport-o.jpg rename to legacy/images/nodata/addMassImport-o.jpg diff --git a/images/nodata/addMassImport.jpg b/legacy/images/nodata/addMassImport.jpg similarity index 100% rename from images/nodata/addMassImport.jpg rename to legacy/images/nodata/addMassImport.jpg diff --git a/images/nodata/candidateButton-o.jpg b/legacy/images/nodata/candidateButton-o.jpg similarity index 100% rename from images/nodata/candidateButton-o.jpg rename to legacy/images/nodata/candidateButton-o.jpg diff --git a/images/nodata/candidatesButton.jpg b/legacy/images/nodata/candidatesButton.jpg similarity index 100% rename from images/nodata/candidatesButton.jpg rename to legacy/images/nodata/candidatesButton.jpg diff --git a/images/nodata/candidatesTop.jpg b/legacy/images/nodata/candidatesTop.jpg similarity index 100% rename from images/nodata/candidatesTop.jpg rename to legacy/images/nodata/candidatesTop.jpg diff --git a/images/nodata/companiesTop.jpg b/legacy/images/nodata/companiesTop.jpg similarity index 100% rename from images/nodata/companiesTop.jpg rename to legacy/images/nodata/companiesTop.jpg diff --git a/images/nodata/contactsButton-o.jpg b/legacy/images/nodata/contactsButton-o.jpg similarity index 100% rename from images/nodata/contactsButton-o.jpg rename to legacy/images/nodata/contactsButton-o.jpg diff --git a/images/nodata/contactsButton.jpg b/legacy/images/nodata/contactsButton.jpg similarity index 100% rename from images/nodata/contactsButton.jpg rename to legacy/images/nodata/contactsButton.jpg diff --git a/images/nodata/contactsTop.jpg b/legacy/images/nodata/contactsTop.jpg similarity index 100% rename from images/nodata/contactsTop.jpg rename to legacy/images/nodata/contactsTop.jpg diff --git a/images/nodata/dashboardNoCandidates.jpg b/legacy/images/nodata/dashboardNoCandidates.jpg similarity index 100% rename from images/nodata/dashboardNoCandidates.jpg rename to legacy/images/nodata/dashboardNoCandidates.jpg diff --git a/images/nodata/dashboardNoCandidatesWhite.jpg b/legacy/images/nodata/dashboardNoCandidatesWhite.jpg similarity index 100% rename from images/nodata/dashboardNoCandidatesWhite.jpg rename to legacy/images/nodata/dashboardNoCandidatesWhite.jpg diff --git a/images/nodata/dashboardNoHires.jpg b/legacy/images/nodata/dashboardNoHires.jpg similarity index 100% rename from images/nodata/dashboardNoHires.jpg rename to legacy/images/nodata/dashboardNoHires.jpg diff --git a/images/nodata/dashboardNoHiresWhite.jpg b/legacy/images/nodata/dashboardNoHiresWhite.jpg similarity index 100% rename from images/nodata/dashboardNoHiresWhite.jpg rename to legacy/images/nodata/dashboardNoHiresWhite.jpg diff --git a/images/nodata/jobOrdersButton-o.jpg b/legacy/images/nodata/jobOrdersButton-o.jpg similarity index 100% rename from images/nodata/jobOrdersButton-o.jpg rename to legacy/images/nodata/jobOrdersButton-o.jpg diff --git a/images/nodata/jobOrdersButton.jpg b/legacy/images/nodata/jobOrdersButton.jpg similarity index 100% rename from images/nodata/jobOrdersButton.jpg rename to legacy/images/nodata/jobOrdersButton.jpg diff --git a/images/nodata/jobOrdersTop.jpg b/legacy/images/nodata/jobOrdersTop.jpg similarity index 100% rename from images/nodata/jobOrdersTop.jpg rename to legacy/images/nodata/jobOrdersTop.jpg diff --git a/images/nodata/joborders.jpg b/legacy/images/nodata/joborders.jpg similarity index 100% rename from images/nodata/joborders.jpg rename to legacy/images/nodata/joborders.jpg diff --git a/images/nodata/listsTop.jpg b/legacy/images/nodata/listsTop.jpg similarity index 100% rename from images/nodata/listsTop.jpg rename to legacy/images/nodata/listsTop.jpg diff --git a/images/nodata/noDataTable.jpg b/legacy/images/nodata/noDataTable.jpg similarity index 100% rename from images/nodata/noDataTable.jpg rename to legacy/images/nodata/noDataTable.jpg diff --git a/images/nosort.gif b/legacy/images/nosort.gif similarity index 100% rename from images/nosort.gif rename to legacy/images/nosort.gif diff --git a/images/orange_gradient.jpg b/legacy/images/orange_gradient.jpg similarity index 100% rename from images/orange_gradient.jpg rename to legacy/images/orange_gradient.jpg diff --git a/images/other.gif b/legacy/images/other.gif similarity index 100% rename from images/other.gif rename to legacy/images/other.gif diff --git a/images/package_editors.gif b/legacy/images/package_editors.gif similarity index 100% rename from images/package_editors.gif rename to legacy/images/package_editors.gif diff --git a/images/paperclip.gif b/legacy/images/paperclip.gif similarity index 100% rename from images/paperclip.gif rename to legacy/images/paperclip.gif diff --git a/images/paperclip_add.gif b/legacy/images/paperclip_add.gif similarity index 100% rename from images/paperclip_add.gif rename to legacy/images/paperclip_add.gif diff --git a/images/parser/ad.gif b/legacy/images/parser/ad.gif similarity index 100% rename from images/parser/ad.gif rename to legacy/images/parser/ad.gif diff --git a/images/parser/arrow.gif b/legacy/images/parser/arrow.gif similarity index 100% rename from images/parser/arrow.gif rename to legacy/images/parser/arrow.gif diff --git a/images/parser/attachment.gif b/legacy/images/parser/attachment.gif similarity index 100% rename from images/parser/attachment.gif rename to legacy/images/parser/attachment.gif diff --git a/images/parser/document.gif b/legacy/images/parser/document.gif similarity index 100% rename from images/parser/document.gif rename to legacy/images/parser/document.gif diff --git a/images/parser/import.gif b/legacy/images/parser/import.gif similarity index 100% rename from images/parser/import.gif rename to legacy/images/parser/import.gif diff --git a/images/parser/manual.gif b/legacy/images/parser/manual.gif similarity index 100% rename from images/parser/manual.gif rename to legacy/images/parser/manual.gif diff --git a/images/parser/new.gif b/legacy/images/parser/new.gif similarity index 100% rename from images/parser/new.gif rename to legacy/images/parser/new.gif diff --git a/images/parser/or.gif b/legacy/images/parser/or.gif similarity index 100% rename from images/parser/or.gif rename to legacy/images/parser/or.gif diff --git a/images/parser/paste.gif b/legacy/images/parser/paste.gif similarity index 100% rename from images/parser/paste.gif rename to legacy/images/parser/paste.gif diff --git a/images/parser/statusBar.jpg b/legacy/images/parser/statusBar.jpg similarity index 100% rename from images/parser/statusBar.jpg rename to legacy/images/parser/statusBar.jpg diff --git a/images/parser/statusBottomLeft.jpg b/legacy/images/parser/statusBottomLeft.jpg similarity index 100% rename from images/parser/statusBottomLeft.jpg rename to legacy/images/parser/statusBottomLeft.jpg diff --git a/images/parser/statusBottomRight.jpg b/legacy/images/parser/statusBottomRight.jpg similarity index 100% rename from images/parser/statusBottomRight.jpg rename to legacy/images/parser/statusBottomRight.jpg diff --git a/images/parser/title.gif b/legacy/images/parser/title.gif similarity index 100% rename from images/parser/title.gif rename to legacy/images/parser/title.gif diff --git a/images/parser/transfer.gif b/legacy/images/parser/transfer.gif similarity index 100% rename from images/parser/transfer.gif rename to legacy/images/parser/transfer.gif diff --git a/images/parser/transfer_grey.gif b/legacy/images/parser/transfer_grey.gif similarity index 100% rename from images/parser/transfer_grey.gif rename to legacy/images/parser/transfer_grey.gif diff --git a/images/personal.gif b/legacy/images/personal.gif similarity index 100% rename from images/personal.gif rename to legacy/images/personal.gif diff --git a/images/phone.gif b/legacy/images/phone.gif similarity index 100% rename from images/phone.gif rename to legacy/images/phone.gif diff --git a/images/popup.gif b/legacy/images/popup.gif similarity index 100% rename from images/popup.gif rename to legacy/images/popup.gif diff --git a/images/poweredByResfly.jpg b/legacy/images/poweredByResfly.jpg similarity index 100% rename from images/poweredByResfly.jpg rename to legacy/images/poweredByResfly.jpg diff --git a/images/prev.gif b/legacy/images/prev.gif similarity index 100% rename from images/prev.gif rename to legacy/images/prev.gif diff --git a/images/profButton-o.jpg b/legacy/images/profButton-o.jpg similarity index 100% rename from images/profButton-o.jpg rename to legacy/images/profButton-o.jpg diff --git a/images/profButton.jpg b/legacy/images/profButton.jpg similarity index 100% rename from images/profButton.jpg rename to legacy/images/profButton.jpg diff --git a/images/public.gif b/legacy/images/public.gif similarity index 100% rename from images/public.gif rename to legacy/images/public.gif diff --git a/images/rcf_logo.gif b/legacy/images/rcf_logo.gif similarity index 100% rename from images/rcf_logo.gif rename to legacy/images/rcf_logo.gif diff --git a/images/recruitingEasy.jpg b/legacy/images/recruitingEasy.jpg similarity index 100% rename from images/recruitingEasy.jpg rename to legacy/images/recruitingEasy.jpg diff --git a/images/red_gradient.jpg b/legacy/images/red_gradient.jpg similarity index 100% rename from images/red_gradient.jpg rename to legacy/images/red_gradient.jpg diff --git a/images/report1small.jpg b/legacy/images/report1small.jpg similarity index 100% rename from images/report1small.jpg rename to legacy/images/report1small.jpg diff --git a/images/reports.gif b/legacy/images/reports.gif similarity index 100% rename from images/reports.gif rename to legacy/images/reports.gif diff --git a/images/reportsSmall.gif b/legacy/images/reportsSmall.gif similarity index 100% rename from images/reportsSmall.gif rename to legacy/images/reportsSmall.gif diff --git a/images/resume_preview_inline.gif b/legacy/images/resume_preview_inline.gif similarity index 100% rename from images/resume_preview_inline.gif rename to legacy/images/resume_preview_inline.gif diff --git a/images/scrollBottom.jpg b/legacy/images/scrollBottom.jpg similarity index 100% rename from images/scrollBottom.jpg rename to legacy/images/scrollBottom.jpg diff --git a/images/scrollTop.jpg b/legacy/images/scrollTop.jpg similarity index 100% rename from images/scrollTop.jpg rename to legacy/images/scrollTop.jpg diff --git a/images/search.gif b/legacy/images/search.gif similarity index 100% rename from images/search.gif rename to legacy/images/search.gif diff --git a/images/serverSystem.jpg b/legacy/images/serverSystem.jpg similarity index 100% rename from images/serverSystem.jpg rename to legacy/images/serverSystem.jpg diff --git a/images/settings.gif b/legacy/images/settings.gif similarity index 100% rename from images/settings.gif rename to legacy/images/settings.gif diff --git a/images/settingsAdminProf.jpg b/legacy/images/settingsAdminProf.jpg similarity index 100% rename from images/settingsAdminProf.jpg rename to legacy/images/settingsAdminProf.jpg diff --git a/images/signUp.jpg b/legacy/images/signUp.jpg similarity index 100% rename from images/signUp.jpg rename to legacy/images/signUp.jpg diff --git a/images/sort_table_bg.gif b/legacy/images/sort_table_bg.gif similarity index 100% rename from images/sort_table_bg.gif rename to legacy/images/sort_table_bg.gif diff --git a/images/stars/star0.gif b/legacy/images/stars/star0.gif similarity index 100% rename from images/stars/star0.gif rename to legacy/images/stars/star0.gif diff --git a/images/stars/star1.gif b/legacy/images/stars/star1.gif similarity index 100% rename from images/stars/star1.gif rename to legacy/images/stars/star1.gif diff --git a/images/stars/star2.gif b/legacy/images/stars/star2.gif similarity index 100% rename from images/stars/star2.gif rename to legacy/images/stars/star2.gif diff --git a/images/stars/star3.gif b/legacy/images/stars/star3.gif similarity index 100% rename from images/stars/star3.gif rename to legacy/images/stars/star3.gif diff --git a/images/stars/star4.gif b/legacy/images/stars/star4.gif similarity index 100% rename from images/stars/star4.gif rename to legacy/images/stars/star4.gif diff --git a/images/stars/star5.gif b/legacy/images/stars/star5.gif similarity index 100% rename from images/stars/star5.gif rename to legacy/images/stars/star5.gif diff --git a/images/stars/starneg1.gif b/legacy/images/stars/starneg1.gif similarity index 100% rename from images/stars/starneg1.gif rename to legacy/images/stars/starneg1.gif diff --git a/images/stars/starneg2.gif b/legacy/images/stars/starneg2.gif similarity index 100% rename from images/stars/starneg2.gif rename to legacy/images/stars/starneg2.gif diff --git a/images/stars/starneg3.gif b/legacy/images/stars/starneg3.gif similarity index 100% rename from images/stars/starneg3.gif rename to legacy/images/stars/starneg3.gif diff --git a/images/stars/starneg4.gif b/legacy/images/stars/starneg4.gif similarity index 100% rename from images/stars/starneg4.gif rename to legacy/images/stars/starneg4.gif diff --git a/images/stars/starneg5.gif b/legacy/images/stars/starneg5.gif similarity index 100% rename from images/stars/starneg5.gif rename to legacy/images/stars/starneg5.gif diff --git a/images/stars/starneg6.gif b/legacy/images/stars/starneg6.gif similarity index 100% rename from images/stars/starneg6.gif rename to legacy/images/stars/starneg6.gif diff --git a/images/stars/starsave.gif b/legacy/images/stars/starsave.gif similarity index 100% rename from images/stars/starsave.gif rename to legacy/images/stars/starsave.gif diff --git a/images/submit.gif b/legacy/images/submit.gif similarity index 100% rename from images/submit.gif rename to legacy/images/submit.gif diff --git a/images/superblogo.gif b/legacy/images/superblogo.gif similarity index 100% rename from images/superblogo.gif rename to legacy/images/superblogo.gif diff --git a/images/support.gif b/legacy/images/support.gif similarity index 100% rename from images/support.gif rename to legacy/images/support.gif diff --git a/images/tab1.png b/legacy/images/tab1.png similarity index 100% rename from images/tab1.png rename to legacy/images/tab1.png diff --git a/images/tab2.png b/legacy/images/tab2.png similarity index 100% rename from images/tab2.png rename to legacy/images/tab2.png diff --git a/images/tab3.png b/legacy/images/tab3.png similarity index 100% rename from images/tab3.png rename to legacy/images/tab3.png diff --git a/images/tab_add.gif b/legacy/images/tab_add.gif similarity index 100% rename from images/tab_add.gif rename to legacy/images/tab_add.gif diff --git a/images/tablebg.gif b/legacy/images/tablebg.gif similarity index 100% rename from images/tablebg.gif rename to legacy/images/tablebg.gif diff --git a/images/tabs/active.jpg b/legacy/images/tabs/active.jpg similarity index 100% rename from images/tabs/active.jpg rename to legacy/images/tabs/active.jpg diff --git a/images/tabs/inactive.jpg b/legacy/images/tabs/inactive.jpg similarity index 100% rename from images/tabs/inactive.jpg rename to legacy/images/tabs/inactive.jpg diff --git a/images/tabs/small_account.jpg b/legacy/images/tabs/small_account.jpg similarity index 100% rename from images/tabs/small_account.jpg rename to legacy/images/tabs/small_account.jpg diff --git a/images/tabs/small_logout.jpg b/legacy/images/tabs/small_logout.jpg similarity index 100% rename from images/tabs/small_logout.jpg rename to legacy/images/tabs/small_logout.jpg diff --git a/images/tabs/small_upgrade.jpg b/legacy/images/tabs/small_upgrade.jpg similarity index 100% rename from images/tabs/small_upgrade.jpg rename to legacy/images/tabs/small_upgrade.jpg diff --git a/images/tabs/subtab_active.jpg b/legacy/images/tabs/subtab_active.jpg similarity index 100% rename from images/tabs/subtab_active.jpg rename to legacy/images/tabs/subtab_active.jpg diff --git a/images/tabs/subtab_inactive.jpg b/legacy/images/tabs/subtab_inactive.jpg similarity index 100% rename from images/tabs/subtab_inactive.jpg rename to legacy/images/tabs/subtab_inactive.jpg diff --git a/images/tests.gif b/legacy/images/tests.gif similarity index 100% rename from images/tests.gif rename to legacy/images/tests.gif diff --git a/images/tests_inline.gif b/legacy/images/tests_inline.gif similarity index 100% rename from images/tests_inline.gif rename to legacy/images/tests_inline.gif diff --git a/images/tiled2c.gif b/legacy/images/tiled2c.gif similarity index 100% rename from images/tiled2c.gif rename to legacy/images/tiled2c.gif diff --git a/images/toolbarImport.jpg b/legacy/images/toolbarImport.jpg similarity index 100% rename from images/toolbarImport.jpg rename to legacy/images/toolbarImport.jpg diff --git a/images/toolbarPreview.jpg b/legacy/images/toolbarPreview.jpg similarity index 100% rename from images/toolbarPreview.jpg rename to legacy/images/toolbarPreview.jpg diff --git a/images/unsubmit.gif b/legacy/images/unsubmit.gif similarity index 100% rename from images/unsubmit.gif rename to legacy/images/unsubmit.gif diff --git a/images/upward.gif b/legacy/images/upward.gif similarity index 100% rename from images/upward.gif rename to legacy/images/upward.gif diff --git a/images/vcard.gif b/legacy/images/vcard.gif similarity index 100% rename from images/vcard.gif rename to legacy/images/vcard.gif diff --git a/images/vip_arrow.gif b/legacy/images/vip_arrow.gif similarity index 100% rename from images/vip_arrow.gif rename to legacy/images/vip_arrow.gif diff --git a/images/vip_banner.gif b/legacy/images/vip_banner.gif similarity index 100% rename from images/vip_banner.gif rename to legacy/images/vip_banner.gif diff --git a/images/wf_error.gif b/legacy/images/wf_error.gif similarity index 100% rename from images/wf_error.gif rename to legacy/images/wf_error.gif diff --git a/images/wizard/bottomLeft.jpg b/legacy/images/wizard/bottomLeft.jpg similarity index 100% rename from images/wizard/bottomLeft.jpg rename to legacy/images/wizard/bottomLeft.jpg diff --git a/images/wizard/bottomRight.jpg b/legacy/images/wizard/bottomRight.jpg similarity index 100% rename from images/wizard/bottomRight.jpg rename to legacy/images/wizard/bottomRight.jpg diff --git a/images/wizard/massImport.jpg b/legacy/images/wizard/massImport.jpg similarity index 100% rename from images/wizard/massImport.jpg rename to legacy/images/wizard/massImport.jpg diff --git a/images/wizard/opaqueLogo.jpg b/legacy/images/wizard/opaqueLogo.jpg similarity index 100% rename from images/wizard/opaqueLogo.jpg rename to legacy/images/wizard/opaqueLogo.jpg diff --git a/images/wizard/professional.jpg b/legacy/images/wizard/professional.jpg similarity index 100% rename from images/wizard/professional.jpg rename to legacy/images/wizard/professional.jpg diff --git a/images/wizard/sectionTopLeft.jpg b/legacy/images/wizard/sectionTopLeft.jpg similarity index 100% rename from images/wizard/sectionTopLeft.jpg rename to legacy/images/wizard/sectionTopLeft.jpg diff --git a/images/wizard/sectionTopRight.jpg b/legacy/images/wizard/sectionTopRight.jpg similarity index 100% rename from images/wizard/sectionTopRight.jpg rename to legacy/images/wizard/sectionTopRight.jpg diff --git a/images/wizard/topLeft.jpg b/legacy/images/wizard/topLeft.jpg similarity index 100% rename from images/wizard/topLeft.jpg rename to legacy/images/wizard/topLeft.jpg diff --git a/images/wizard/topRight.jpg b/legacy/images/wizard/topRight.jpg similarity index 100% rename from images/wizard/topRight.jpg rename to legacy/images/wizard/topRight.jpg diff --git a/index.php b/legacy/index.php similarity index 100% rename from index.php rename to legacy/index.php diff --git a/installtest.php b/legacy/installtest.php similarity index 100% rename from installtest.php rename to legacy/installtest.php diff --git a/installwizard.php b/legacy/installwizard.php similarity index 100% rename from installwizard.php rename to legacy/installwizard.php diff --git a/js/activity.js b/legacy/js/activity.js similarity index 100% rename from js/activity.js rename to legacy/js/activity.js diff --git a/js/addressParser.js b/legacy/js/addressParser.js similarity index 100% rename from js/addressParser.js rename to legacy/js/addressParser.js diff --git a/js/backup.js b/legacy/js/backup.js similarity index 100% rename from js/backup.js rename to legacy/js/backup.js diff --git a/js/calendarDateInput.js b/legacy/js/calendarDateInput.js similarity index 100% rename from js/calendarDateInput.js rename to legacy/js/calendarDateInput.js diff --git a/js/candidate.js b/legacy/js/candidate.js similarity index 100% rename from js/candidate.js rename to legacy/js/candidate.js diff --git a/js/candidateParser.js b/legacy/js/candidateParser.js similarity index 100% rename from js/candidateParser.js rename to legacy/js/candidateParser.js diff --git a/js/careerPortalApply.js b/legacy/js/careerPortalApply.js similarity index 100% rename from js/careerPortalApply.js rename to legacy/js/careerPortalApply.js diff --git a/js/careerportal.js b/legacy/js/careerportal.js similarity index 100% rename from js/careerportal.js rename to legacy/js/careerportal.js diff --git a/js/careersPage.js b/legacy/js/careersPage.js similarity index 100% rename from js/careersPage.js rename to legacy/js/careersPage.js diff --git a/js/ckeditor-manager.js b/legacy/js/ckeditor-manager.js similarity index 100% rename from js/ckeditor-manager.js rename to legacy/js/ckeditor-manager.js diff --git a/js/company.js b/legacy/js/company.js similarity index 100% rename from js/company.js rename to legacy/js/company.js diff --git a/js/contact.js b/legacy/js/contact.js similarity index 100% rename from js/contact.js rename to legacy/js/contact.js diff --git a/js/dataGrid.js b/legacy/js/dataGrid.js similarity index 100% rename from js/dataGrid.js rename to legacy/js/dataGrid.js diff --git a/js/dataGridFilters.js b/legacy/js/dataGridFilters.js similarity index 100% rename from js/dataGridFilters.js rename to legacy/js/dataGridFilters.js diff --git a/js/doubleListEditor.js b/legacy/js/doubleListEditor.js similarity index 100% rename from js/doubleListEditor.js rename to legacy/js/doubleListEditor.js diff --git a/js/eeo.js b/legacy/js/eeo.js similarity index 100% rename from js/eeo.js rename to legacy/js/eeo.js diff --git a/js/emailHandler.js b/legacy/js/emailHandler.js similarity index 100% rename from js/emailHandler.js rename to legacy/js/emailHandler.js diff --git a/js/export.js b/legacy/js/export.js similarity index 100% rename from js/export.js rename to legacy/js/export.js diff --git a/js/highlightrows.js b/legacy/js/highlightrows.js similarity index 100% rename from js/highlightrows.js rename to legacy/js/highlightrows.js diff --git a/js/home.js b/legacy/js/home.js similarity index 100% rename from js/home.js rename to legacy/js/home.js diff --git a/js/index.php b/legacy/js/index.php similarity index 100% rename from js/index.php rename to legacy/js/index.php diff --git a/js/install.js b/legacy/js/install.js similarity index 100% rename from js/install.js rename to legacy/js/install.js diff --git a/js/joborder.js b/legacy/js/joborder.js similarity index 100% rename from js/joborder.js rename to legacy/js/joborder.js diff --git a/js/jquery-1.3.2.min.js b/legacy/js/jquery-1.3.2.min.js similarity index 100% rename from js/jquery-1.3.2.min.js rename to legacy/js/jquery-1.3.2.min.js diff --git a/js/lib.js b/legacy/js/lib.js similarity index 100% rename from js/lib.js rename to legacy/js/lib.js diff --git a/js/listEditor.js b/legacy/js/listEditor.js similarity index 100% rename from js/listEditor.js rename to legacy/js/listEditor.js diff --git a/js/lists.js b/legacy/js/lists.js similarity index 100% rename from js/lists.js rename to legacy/js/lists.js diff --git a/js/massImport.js b/legacy/js/massImport.js similarity index 100% rename from js/massImport.js rename to legacy/js/massImport.js diff --git a/js/match.js b/legacy/js/match.js similarity index 100% rename from js/match.js rename to legacy/js/match.js diff --git a/js/pipeline.js b/legacy/js/pipeline.js similarity index 100% rename from js/pipeline.js rename to legacy/js/pipeline.js diff --git a/js/questionnaire.js b/legacy/js/questionnaire.js similarity index 100% rename from js/questionnaire.js rename to legacy/js/questionnaire.js diff --git a/js/quickAction.js b/legacy/js/quickAction.js similarity index 100% rename from js/quickAction.js rename to legacy/js/quickAction.js diff --git a/js/searchAdvanced.js b/legacy/js/searchAdvanced.js similarity index 100% rename from js/searchAdvanced.js rename to legacy/js/searchAdvanced.js diff --git a/js/searchSaved.js b/legacy/js/searchSaved.js similarity index 100% rename from js/searchSaved.js rename to legacy/js/searchSaved.js diff --git a/js/sorttable.js b/legacy/js/sorttable.js similarity index 100% rename from js/sorttable.js rename to legacy/js/sorttable.js diff --git a/js/submodal/close.gif b/legacy/js/submodal/close.gif similarity index 100% rename from js/submodal/close.gif rename to legacy/js/submodal/close.gif diff --git a/js/submodal/loading.html b/legacy/js/submodal/loading.html similarity index 100% rename from js/submodal/loading.html rename to legacy/js/submodal/loading.html diff --git a/js/submodal/subModal.js b/legacy/js/submodal/subModal.js similarity index 100% rename from js/submodal/subModal.js rename to legacy/js/submodal/subModal.js diff --git a/js/suggest.js b/legacy/js/suggest.js similarity index 100% rename from js/suggest.js rename to legacy/js/suggest.js diff --git a/js/sweetTitles.js b/legacy/js/sweetTitles.js similarity index 100% rename from js/sweetTitles.js rename to legacy/js/sweetTitles.js diff --git a/js/wizardIntro.js b/legacy/js/wizardIntro.js similarity index 100% rename from js/wizardIntro.js rename to legacy/js/wizardIntro.js diff --git a/lib/ACL.php b/legacy/lib/ACL.php similarity index 100% rename from lib/ACL.php rename to legacy/lib/ACL.php diff --git a/lib/AJAXInterface.php b/legacy/lib/AJAXInterface.php similarity index 100% rename from lib/AJAXInterface.php rename to legacy/lib/AJAXInterface.php diff --git a/lib/ActivityEntries.php b/legacy/lib/ActivityEntries.php similarity index 100% rename from lib/ActivityEntries.php rename to legacy/lib/ActivityEntries.php diff --git a/lib/AddressParser.php b/legacy/lib/AddressParser.php similarity index 100% rename from lib/AddressParser.php rename to legacy/lib/AddressParser.php diff --git a/lib/ArrayUtility.php b/legacy/lib/ArrayUtility.php similarity index 100% rename from lib/ArrayUtility.php rename to legacy/lib/ArrayUtility.php diff --git a/lib/Attachments.php b/legacy/lib/Attachments.php similarity index 100% rename from lib/Attachments.php rename to legacy/lib/Attachments.php diff --git a/lib/BrowserDetection.php b/legacy/lib/BrowserDetection.php similarity index 100% rename from lib/BrowserDetection.php rename to legacy/lib/BrowserDetection.php diff --git a/lib/CATSUtility.php b/legacy/lib/CATSUtility.php similarity index 100% rename from lib/CATSUtility.php rename to legacy/lib/CATSUtility.php diff --git a/lib/Calendar.php b/legacy/lib/Calendar.php similarity index 100% rename from lib/Calendar.php rename to legacy/lib/Calendar.php diff --git a/lib/Candidates.php b/legacy/lib/Candidates.php similarity index 100% rename from lib/Candidates.php rename to legacy/lib/Candidates.php diff --git a/lib/CandidatesImport.php b/legacy/lib/CandidatesImport.php similarity index 100% rename from lib/CandidatesImport.php rename to legacy/lib/CandidatesImport.php diff --git a/lib/CareerPortal.php b/legacy/lib/CareerPortal.php similarity index 100% rename from lib/CareerPortal.php rename to legacy/lib/CareerPortal.php diff --git a/lib/CommonErrors.php b/legacy/lib/CommonErrors.php similarity index 100% rename from lib/CommonErrors.php rename to legacy/lib/CommonErrors.php diff --git a/lib/Companies.php b/legacy/lib/Companies.php similarity index 100% rename from lib/Companies.php rename to legacy/lib/Companies.php diff --git a/lib/CompaniesImport.php b/legacy/lib/CompaniesImport.php similarity index 100% rename from lib/CompaniesImport.php rename to legacy/lib/CompaniesImport.php diff --git a/lib/Contacts.php b/legacy/lib/Contacts.php similarity index 100% rename from lib/Contacts.php rename to legacy/lib/Contacts.php diff --git a/lib/ContactsImport.php b/legacy/lib/ContactsImport.php similarity index 100% rename from lib/ContactsImport.php rename to legacy/lib/ContactsImport.php diff --git a/lib/Dashboard.php b/legacy/lib/Dashboard.php similarity index 100% rename from lib/Dashboard.php rename to legacy/lib/Dashboard.php diff --git a/lib/DataGrid.php b/legacy/lib/DataGrid.php similarity index 100% rename from lib/DataGrid.php rename to legacy/lib/DataGrid.php diff --git a/lib/DatabaseConnection.php b/legacy/lib/DatabaseConnection.php similarity index 100% rename from lib/DatabaseConnection.php rename to legacy/lib/DatabaseConnection.php diff --git a/lib/DatabaseSearch.php b/legacy/lib/DatabaseSearch.php similarity index 100% rename from lib/DatabaseSearch.php rename to legacy/lib/DatabaseSearch.php diff --git a/lib/DateUtility.php b/legacy/lib/DateUtility.php similarity index 100% rename from lib/DateUtility.php rename to legacy/lib/DateUtility.php diff --git a/lib/DocumentToText.php b/legacy/lib/DocumentToText.php similarity index 100% rename from lib/DocumentToText.php rename to legacy/lib/DocumentToText.php diff --git a/lib/EmailTemplates.php b/legacy/lib/EmailTemplates.php similarity index 100% rename from lib/EmailTemplates.php rename to legacy/lib/EmailTemplates.php diff --git a/lib/Export.php b/legacy/lib/Export.php similarity index 100% rename from lib/Export.php rename to legacy/lib/Export.php diff --git a/lib/ExtraFields.php b/legacy/lib/ExtraFields.php similarity index 100% rename from lib/ExtraFields.php rename to legacy/lib/ExtraFields.php diff --git a/lib/FileCompressor.php b/legacy/lib/FileCompressor.php similarity index 100% rename from lib/FileCompressor.php rename to legacy/lib/FileCompressor.php diff --git a/lib/FileUtility.php b/legacy/lib/FileUtility.php similarity index 100% rename from lib/FileUtility.php rename to legacy/lib/FileUtility.php diff --git a/lib/GraphGenerator.php b/legacy/lib/GraphGenerator.php similarity index 100% rename from lib/GraphGenerator.php rename to legacy/lib/GraphGenerator.php diff --git a/lib/Graphs.php b/legacy/lib/Graphs.php similarity index 100% rename from lib/Graphs.php rename to legacy/lib/Graphs.php diff --git a/lib/HashUtility.php b/legacy/lib/HashUtility.php similarity index 100% rename from lib/HashUtility.php rename to legacy/lib/HashUtility.php diff --git a/lib/History.php b/legacy/lib/History.php similarity index 100% rename from lib/History.php rename to legacy/lib/History.php diff --git a/lib/Hooks.php b/legacy/lib/Hooks.php similarity index 100% rename from lib/Hooks.php rename to legacy/lib/Hooks.php diff --git a/lib/HttpLogger.php b/legacy/lib/HttpLogger.php similarity index 100% rename from lib/HttpLogger.php rename to legacy/lib/HttpLogger.php diff --git a/lib/IFrameBlank.html b/legacy/lib/IFrameBlank.html similarity index 100% rename from lib/IFrameBlank.html rename to legacy/lib/IFrameBlank.html diff --git a/lib/ImportUtility.php b/legacy/lib/ImportUtility.php similarity index 100% rename from lib/ImportUtility.php rename to legacy/lib/ImportUtility.php diff --git a/lib/ImportableEntity.php b/legacy/lib/ImportableEntity.php similarity index 100% rename from lib/ImportableEntity.php rename to legacy/lib/ImportableEntity.php diff --git a/lib/InfoString.php b/legacy/lib/InfoString.php similarity index 100% rename from lib/InfoString.php rename to legacy/lib/InfoString.php diff --git a/lib/InstallationTests.php b/legacy/lib/InstallationTests.php similarity index 100% rename from lib/InstallationTests.php rename to legacy/lib/InstallationTests.php diff --git a/lib/JobOrderStatuses.php b/legacy/lib/JobOrderStatuses.php similarity index 100% rename from lib/JobOrderStatuses.php rename to legacy/lib/JobOrderStatuses.php diff --git a/lib/JobOrderTypes.php b/legacy/lib/JobOrderTypes.php similarity index 100% rename from lib/JobOrderTypes.php rename to legacy/lib/JobOrderTypes.php diff --git a/lib/JobOrders.php b/legacy/lib/JobOrders.php similarity index 100% rename from lib/JobOrders.php rename to legacy/lib/JobOrders.php diff --git a/lib/LDAP.php b/legacy/lib/LDAP.php similarity index 100% rename from lib/LDAP.php rename to legacy/lib/LDAP.php diff --git a/lib/ListEditor.php b/legacy/lib/ListEditor.php similarity index 100% rename from lib/ListEditor.php rename to legacy/lib/ListEditor.php diff --git a/lib/LoginActivity.php b/legacy/lib/LoginActivity.php similarity index 100% rename from lib/LoginActivity.php rename to legacy/lib/LoginActivity.php diff --git a/lib/MRU.php b/legacy/lib/MRU.php similarity index 100% rename from lib/MRU.php rename to legacy/lib/MRU.php diff --git a/lib/Mailer.php b/legacy/lib/Mailer.php similarity index 100% rename from lib/Mailer.php rename to legacy/lib/Mailer.php diff --git a/lib/ModuleUtility.php b/legacy/lib/ModuleUtility.php similarity index 100% rename from lib/ModuleUtility.php rename to legacy/lib/ModuleUtility.php diff --git a/lib/NewVersionCheck.php b/legacy/lib/NewVersionCheck.php similarity index 100% rename from lib/NewVersionCheck.php rename to legacy/lib/NewVersionCheck.php diff --git a/lib/Pager.php b/legacy/lib/Pager.php similarity index 100% rename from lib/Pager.php rename to legacy/lib/Pager.php diff --git a/lib/ParseUtility.php b/legacy/lib/ParseUtility.php similarity index 100% rename from lib/ParseUtility.php rename to legacy/lib/ParseUtility.php diff --git a/lib/Pipelines.php b/legacy/lib/Pipelines.php similarity index 100% rename from lib/Pipelines.php rename to legacy/lib/Pipelines.php diff --git a/lib/Questionnaire.php b/legacy/lib/Questionnaire.php similarity index 100% rename from lib/Questionnaire.php rename to legacy/lib/Questionnaire.php diff --git a/lib/QueueProcessor.php b/legacy/lib/QueueProcessor.php similarity index 100% rename from lib/QueueProcessor.php rename to legacy/lib/QueueProcessor.php diff --git a/lib/ResultSetUtility.php b/legacy/lib/ResultSetUtility.php similarity index 100% rename from lib/ResultSetUtility.php rename to legacy/lib/ResultSetUtility.php diff --git a/lib/SavedLists.php b/legacy/lib/SavedLists.php similarity index 100% rename from lib/SavedLists.php rename to legacy/lib/SavedLists.php diff --git a/lib/Search.php b/legacy/lib/Search.php similarity index 100% rename from lib/Search.php rename to legacy/lib/Search.php diff --git a/lib/Session.php b/legacy/lib/Session.php similarity index 100% rename from lib/Session.php rename to legacy/lib/Session.php diff --git a/lib/Site.php b/legacy/lib/Site.php similarity index 100% rename from lib/Site.php rename to legacy/lib/Site.php diff --git a/lib/Statistics.php b/legacy/lib/Statistics.php similarity index 100% rename from lib/Statistics.php rename to legacy/lib/Statistics.php diff --git a/lib/StringUtility.php b/legacy/lib/StringUtility.php similarity index 100% rename from lib/StringUtility.php rename to legacy/lib/StringUtility.php diff --git a/lib/SystemInfo.php b/legacy/lib/SystemInfo.php similarity index 100% rename from lib/SystemInfo.php rename to legacy/lib/SystemInfo.php diff --git a/lib/SystemUtility.php b/legacy/lib/SystemUtility.php similarity index 100% rename from lib/SystemUtility.php rename to legacy/lib/SystemUtility.php diff --git a/lib/Tags.php b/legacy/lib/Tags.php similarity index 100% rename from lib/Tags.php rename to legacy/lib/Tags.php diff --git a/lib/Template.php b/legacy/lib/Template.php similarity index 100% rename from lib/Template.php rename to legacy/lib/Template.php diff --git a/lib/TemplateUtility.php b/legacy/lib/TemplateUtility.php similarity index 100% rename from lib/TemplateUtility.php rename to legacy/lib/TemplateUtility.php diff --git a/lib/UserInterface.php b/legacy/lib/UserInterface.php similarity index 100% rename from lib/UserInterface.php rename to legacy/lib/UserInterface.php diff --git a/lib/Users.php b/legacy/lib/Users.php similarity index 100% rename from lib/Users.php rename to legacy/lib/Users.php diff --git a/lib/VCard.php b/legacy/lib/VCard.php similarity index 100% rename from lib/VCard.php rename to legacy/lib/VCard.php diff --git a/lib/WebForm.php b/legacy/lib/WebForm.php similarity index 100% rename from lib/WebForm.php rename to legacy/lib/WebForm.php diff --git a/lib/Width.php b/legacy/lib/Width.php similarity index 100% rename from lib/Width.php rename to legacy/lib/Width.php diff --git a/lib/Wizard.php b/legacy/lib/Wizard.php similarity index 100% rename from lib/Wizard.php rename to legacy/lib/Wizard.php diff --git a/lib/XmlJobExport.php b/legacy/lib/XmlJobExport.php similarity index 100% rename from lib/XmlJobExport.php rename to legacy/lib/XmlJobExport.php diff --git a/lib/ZipLookup.php b/legacy/lib/ZipLookup.php similarity index 100% rename from lib/ZipLookup.php rename to legacy/lib/ZipLookup.php diff --git a/lib/artichow/AntiSpam.class.php b/legacy/lib/artichow/AntiSpam.class.php similarity index 100% rename from lib/artichow/AntiSpam.class.php rename to legacy/lib/artichow/AntiSpam.class.php diff --git a/lib/artichow/Artichow.cfg.php b/legacy/lib/artichow/Artichow.cfg.php similarity index 100% rename from lib/artichow/Artichow.cfg.php rename to legacy/lib/artichow/Artichow.cfg.php diff --git a/lib/artichow/Artichow.class.php b/legacy/lib/artichow/Artichow.class.php similarity index 100% rename from lib/artichow/Artichow.class.php rename to legacy/lib/artichow/Artichow.class.php diff --git a/lib/artichow/BarPlot.class.php b/legacy/lib/artichow/BarPlot.class.php similarity index 100% rename from lib/artichow/BarPlot.class.php rename to legacy/lib/artichow/BarPlot.class.php diff --git a/lib/artichow/BarPlotDashboard.class.php b/legacy/lib/artichow/BarPlotDashboard.class.php similarity index 100% rename from lib/artichow/BarPlotDashboard.class.php rename to legacy/lib/artichow/BarPlotDashboard.class.php diff --git a/lib/artichow/BarPlotPipeline.class.php b/legacy/lib/artichow/BarPlotPipeline.class.php similarity index 100% rename from lib/artichow/BarPlotPipeline.class.php rename to legacy/lib/artichow/BarPlotPipeline.class.php diff --git a/lib/artichow/Component.class.php b/legacy/lib/artichow/Component.class.php similarity index 100% rename from lib/artichow/Component.class.php rename to legacy/lib/artichow/Component.class.php diff --git a/lib/artichow/Graph.class.php b/legacy/lib/artichow/Graph.class.php similarity index 100% rename from lib/artichow/Graph.class.php rename to legacy/lib/artichow/Graph.class.php diff --git a/lib/artichow/Image.class.php b/legacy/lib/artichow/Image.class.php similarity index 100% rename from lib/artichow/Image.class.php rename to legacy/lib/artichow/Image.class.php diff --git a/lib/artichow/LinePlot.class.php b/legacy/lib/artichow/LinePlot.class.php similarity index 100% rename from lib/artichow/LinePlot.class.php rename to legacy/lib/artichow/LinePlot.class.php diff --git a/lib/artichow/MathPlot.class.php b/legacy/lib/artichow/MathPlot.class.php similarity index 100% rename from lib/artichow/MathPlot.class.php rename to legacy/lib/artichow/MathPlot.class.php diff --git a/lib/artichow/Pattern.class.php b/legacy/lib/artichow/Pattern.class.php similarity index 100% rename from lib/artichow/Pattern.class.php rename to legacy/lib/artichow/Pattern.class.php diff --git a/lib/artichow/Pie.class.php b/legacy/lib/artichow/Pie.class.php similarity index 100% rename from lib/artichow/Pie.class.php rename to legacy/lib/artichow/Pie.class.php diff --git a/lib/artichow/Plot.class.php b/legacy/lib/artichow/Plot.class.php similarity index 100% rename from lib/artichow/Plot.class.php rename to legacy/lib/artichow/Plot.class.php diff --git a/lib/artichow/ScatterPlot.class.php b/legacy/lib/artichow/ScatterPlot.class.php similarity index 100% rename from lib/artichow/ScatterPlot.class.php rename to legacy/lib/artichow/ScatterPlot.class.php diff --git a/lib/artichow/common.php b/legacy/lib/artichow/common.php similarity index 100% rename from lib/artichow/common.php rename to legacy/lib/artichow/common.php diff --git a/lib/artichow/font/Tuffy.ttf b/legacy/lib/artichow/font/Tuffy.ttf similarity index 100% rename from lib/artichow/font/Tuffy.ttf rename to legacy/lib/artichow/font/Tuffy.ttf diff --git a/lib/artichow/font/TuffyBold.ttf b/legacy/lib/artichow/font/TuffyBold.ttf similarity index 100% rename from lib/artichow/font/TuffyBold.ttf rename to legacy/lib/artichow/font/TuffyBold.ttf diff --git a/lib/artichow/font/TuffyBoldItalic.ttf b/legacy/lib/artichow/font/TuffyBoldItalic.ttf similarity index 100% rename from lib/artichow/font/TuffyBoldItalic.ttf rename to legacy/lib/artichow/font/TuffyBoldItalic.ttf diff --git a/lib/artichow/font/TuffyItalic.ttf b/legacy/lib/artichow/font/TuffyItalic.ttf similarity index 100% rename from lib/artichow/font/TuffyItalic.ttf rename to legacy/lib/artichow/font/TuffyItalic.ttf diff --git a/lib/artichow/images/book.png b/legacy/lib/artichow/images/book.png similarity index 100% rename from lib/artichow/images/book.png rename to legacy/lib/artichow/images/book.png diff --git a/lib/artichow/images/paperclip.png b/legacy/lib/artichow/images/paperclip.png similarity index 100% rename from lib/artichow/images/paperclip.png rename to legacy/lib/artichow/images/paperclip.png diff --git a/lib/artichow/images/star.png b/legacy/lib/artichow/images/star.png similarity index 100% rename from lib/artichow/images/star.png rename to legacy/lib/artichow/images/star.png diff --git a/lib/artichow/inc/Axis.class.php b/legacy/lib/artichow/inc/Axis.class.php similarity index 100% rename from lib/artichow/inc/Axis.class.php rename to legacy/lib/artichow/inc/Axis.class.php diff --git a/lib/artichow/inc/Border.class.php b/legacy/lib/artichow/inc/Border.class.php similarity index 100% rename from lib/artichow/inc/Border.class.php rename to legacy/lib/artichow/inc/Border.class.php diff --git a/lib/artichow/inc/Color.class.php b/legacy/lib/artichow/inc/Color.class.php similarity index 100% rename from lib/artichow/inc/Color.class.php rename to legacy/lib/artichow/inc/Color.class.php diff --git a/lib/artichow/inc/Drawer.class.php b/legacy/lib/artichow/inc/Drawer.class.php similarity index 100% rename from lib/artichow/inc/Drawer.class.php rename to legacy/lib/artichow/inc/Drawer.class.php diff --git a/lib/artichow/inc/Font.class.php b/legacy/lib/artichow/inc/Font.class.php similarity index 100% rename from lib/artichow/inc/Font.class.php rename to legacy/lib/artichow/inc/Font.class.php diff --git a/lib/artichow/inc/Gradient.class.php b/legacy/lib/artichow/inc/Gradient.class.php similarity index 100% rename from lib/artichow/inc/Gradient.class.php rename to legacy/lib/artichow/inc/Gradient.class.php diff --git a/lib/artichow/inc/Grid.class.php b/legacy/lib/artichow/inc/Grid.class.php similarity index 100% rename from lib/artichow/inc/Grid.class.php rename to legacy/lib/artichow/inc/Grid.class.php diff --git a/lib/artichow/inc/Label.class.php b/legacy/lib/artichow/inc/Label.class.php similarity index 100% rename from lib/artichow/inc/Label.class.php rename to legacy/lib/artichow/inc/Label.class.php diff --git a/lib/artichow/inc/Legend.class.php b/legacy/lib/artichow/inc/Legend.class.php similarity index 100% rename from lib/artichow/inc/Legend.class.php rename to legacy/lib/artichow/inc/Legend.class.php diff --git a/lib/artichow/inc/Mark.class.php b/legacy/lib/artichow/inc/Mark.class.php similarity index 100% rename from lib/artichow/inc/Mark.class.php rename to legacy/lib/artichow/inc/Mark.class.php diff --git a/lib/artichow/inc/Math.class.php b/legacy/lib/artichow/inc/Math.class.php similarity index 100% rename from lib/artichow/inc/Math.class.php rename to legacy/lib/artichow/inc/Math.class.php diff --git a/lib/artichow/inc/Shadow.class.php b/legacy/lib/artichow/inc/Shadow.class.php similarity index 100% rename from lib/artichow/inc/Shadow.class.php rename to legacy/lib/artichow/inc/Shadow.class.php diff --git a/lib/artichow/inc/Text.class.php b/legacy/lib/artichow/inc/Text.class.php similarity index 100% rename from lib/artichow/inc/Text.class.php rename to legacy/lib/artichow/inc/Text.class.php diff --git a/lib/artichow/inc/Tick.class.php b/legacy/lib/artichow/inc/Tick.class.php similarity index 100% rename from lib/artichow/inc/Tick.class.php rename to legacy/lib/artichow/inc/Tick.class.php diff --git a/lib/artichow/inc/Tools.class.php b/legacy/lib/artichow/inc/Tools.class.php similarity index 100% rename from lib/artichow/inc/Tools.class.php rename to legacy/lib/artichow/inc/Tools.class.php diff --git a/lib/artichow/patterns/BarDepth.php b/legacy/lib/artichow/patterns/BarDepth.php similarity index 100% rename from lib/artichow/patterns/BarDepth.php rename to legacy/lib/artichow/patterns/BarDepth.php diff --git a/lib/artichow/patterns/LightLine.php b/legacy/lib/artichow/patterns/LightLine.php similarity index 100% rename from lib/artichow/patterns/LightLine.php rename to legacy/lib/artichow/patterns/LightLine.php diff --git a/lib/datagrid/FilterArea.tpl b/legacy/lib/datagrid/FilterArea.tpl similarity index 100% rename from lib/datagrid/FilterArea.tpl rename to legacy/lib/datagrid/FilterArea.tpl diff --git a/lib/mime.types b/legacy/lib/mime.types similarity index 100% rename from lib/mime.types rename to legacy/lib/mime.types diff --git a/config/sphinx/STOPWORDS b/legacy/lib/sphinx/STOPWORDS similarity index 100% rename from config/sphinx/STOPWORDS rename to legacy/lib/sphinx/STOPWORDS diff --git a/config/sphinx/sphinx.conf b/legacy/lib/sphinx/conf/sphinx.conf similarity index 100% rename from config/sphinx/sphinx.conf rename to legacy/lib/sphinx/conf/sphinx.conf diff --git a/temp/empty b/legacy/lib/sphinx/index/cats/empty similarity index 100% rename from temp/empty rename to legacy/lib/sphinx/index/cats/empty diff --git a/modules/careers/Openings.tpl b/legacy/lib/sphinx/index/cats_delta/empty old mode 100755 new mode 100644 similarity index 100% rename from modules/careers/Openings.tpl rename to legacy/lib/sphinx/index/cats_delta/empty diff --git a/modules/careers/SearchOpenings.tpl b/legacy/lib/sphinx/var/log/empty old mode 100755 new mode 100644 similarity index 100% rename from modules/careers/SearchOpenings.tpl rename to legacy/lib/sphinx/var/log/empty diff --git a/reports/index.html b/legacy/lib/sphinx/var/run/empty similarity index 100% rename from reports/index.html rename to legacy/lib/sphinx/var/run/empty diff --git a/main.css b/legacy/main.css similarity index 100% rename from main.css rename to legacy/main.css diff --git a/modules/activity/ActivityDataGrid.tpl b/legacy/modules/activity/ActivityDataGrid.tpl similarity index 100% rename from modules/activity/ActivityDataGrid.tpl rename to legacy/modules/activity/ActivityDataGrid.tpl diff --git a/modules/activity/ActivityUI.php b/legacy/modules/activity/ActivityUI.php similarity index 100% rename from modules/activity/ActivityUI.php rename to legacy/modules/activity/ActivityUI.php diff --git a/modules/activity/Search.tpl b/legacy/modules/activity/Search.tpl similarity index 100% rename from modules/activity/Search.tpl rename to legacy/modules/activity/Search.tpl diff --git a/modules/activity/dataGrids.php b/legacy/modules/activity/dataGrids.php similarity index 100% rename from modules/activity/dataGrids.php rename to legacy/modules/activity/dataGrids.php diff --git a/modules/activity/validator.js b/legacy/modules/activity/validator.js similarity index 100% rename from modules/activity/validator.js rename to legacy/modules/activity/validator.js diff --git a/modules/attachments/AttachmentsUI.php b/legacy/modules/attachments/AttachmentsUI.php similarity index 100% rename from modules/attachments/AttachmentsUI.php rename to legacy/modules/attachments/AttachmentsUI.php diff --git a/modules/calendar/Calendar.css b/legacy/modules/calendar/Calendar.css similarity index 100% rename from modules/calendar/Calendar.css rename to legacy/modules/calendar/Calendar.css diff --git a/modules/calendar/Calendar.js b/legacy/modules/calendar/Calendar.js similarity index 100% rename from modules/calendar/Calendar.js rename to legacy/modules/calendar/Calendar.js diff --git a/modules/calendar/Calendar.tpl b/legacy/modules/calendar/Calendar.tpl similarity index 100% rename from modules/calendar/Calendar.tpl rename to legacy/modules/calendar/Calendar.tpl diff --git a/modules/calendar/CalendarUI.js b/legacy/modules/calendar/CalendarUI.js similarity index 100% rename from modules/calendar/CalendarUI.js rename to legacy/modules/calendar/CalendarUI.js diff --git a/modules/calendar/CalendarUI.php b/legacy/modules/calendar/CalendarUI.php similarity index 100% rename from modules/calendar/CalendarUI.php rename to legacy/modules/calendar/CalendarUI.php diff --git a/modules/calendar/Error.tpl b/legacy/modules/calendar/Error.tpl similarity index 100% rename from modules/calendar/Error.tpl rename to legacy/modules/calendar/Error.tpl diff --git a/modules/calendar/tasks/Reminders.php b/legacy/modules/calendar/tasks/Reminders.php similarity index 100% rename from modules/calendar/tasks/Reminders.php rename to legacy/modules/calendar/tasks/Reminders.php diff --git a/modules/calendar/tasks/tasks.php b/legacy/modules/calendar/tasks/tasks.php similarity index 100% rename from modules/calendar/tasks/tasks.php rename to legacy/modules/calendar/tasks/tasks.php diff --git a/modules/calendar/validator.js b/legacy/modules/calendar/validator.js similarity index 100% rename from modules/calendar/validator.js rename to legacy/modules/calendar/validator.js diff --git a/modules/candidates/Add.tpl b/legacy/modules/candidates/Add.tpl similarity index 100% rename from modules/candidates/Add.tpl rename to legacy/modules/candidates/Add.tpl diff --git a/modules/candidates/AddActivityScheduleEventModal.tpl b/legacy/modules/candidates/AddActivityScheduleEventModal.tpl similarity index 100% rename from modules/candidates/AddActivityScheduleEventModal.tpl rename to legacy/modules/candidates/AddActivityScheduleEventModal.tpl diff --git a/modules/candidates/AssignCandidateTagModal.tpl b/legacy/modules/candidates/AssignCandidateTagModal.tpl similarity index 100% rename from modules/candidates/AssignCandidateTagModal.tpl rename to legacy/modules/candidates/AssignCandidateTagModal.tpl diff --git a/modules/candidates/Candidates.tpl b/legacy/modules/candidates/Candidates.tpl similarity index 100% rename from modules/candidates/Candidates.tpl rename to legacy/modules/candidates/Candidates.tpl diff --git a/modules/candidates/CandidatesUI.php b/legacy/modules/candidates/CandidatesUI.php similarity index 100% rename from modules/candidates/CandidatesUI.php rename to legacy/modules/candidates/CandidatesUI.php diff --git a/modules/candidates/ChangeStatusModal.tpl b/legacy/modules/candidates/ChangeStatusModal.tpl similarity index 100% rename from modules/candidates/ChangeStatusModal.tpl rename to legacy/modules/candidates/ChangeStatusModal.tpl diff --git a/modules/candidates/ConsiderSearchModal.tpl b/legacy/modules/candidates/ConsiderSearchModal.tpl similarity index 100% rename from modules/candidates/ConsiderSearchModal.tpl rename to legacy/modules/candidates/ConsiderSearchModal.tpl diff --git a/modules/candidates/CreateAttachmentModal.tpl b/legacy/modules/candidates/CreateAttachmentModal.tpl similarity index 100% rename from modules/candidates/CreateAttachmentModal.tpl rename to legacy/modules/candidates/CreateAttachmentModal.tpl diff --git a/modules/candidates/CreateImageAttachmentModal.tpl b/legacy/modules/candidates/CreateImageAttachmentModal.tpl similarity index 100% rename from modules/candidates/CreateImageAttachmentModal.tpl rename to legacy/modules/candidates/CreateImageAttachmentModal.tpl diff --git a/modules/candidates/Duplicates.tpl b/legacy/modules/candidates/Duplicates.tpl similarity index 100% rename from modules/candidates/Duplicates.tpl rename to legacy/modules/candidates/Duplicates.tpl diff --git a/modules/candidates/Edit.tpl b/legacy/modules/candidates/Edit.tpl similarity index 100% rename from modules/candidates/Edit.tpl rename to legacy/modules/candidates/Edit.tpl diff --git a/modules/candidates/Error.tpl b/legacy/modules/candidates/Error.tpl similarity index 100% rename from modules/candidates/Error.tpl rename to legacy/modules/candidates/Error.tpl diff --git a/modules/candidates/ErrorModal.tpl b/legacy/modules/candidates/ErrorModal.tpl similarity index 100% rename from modules/candidates/ErrorModal.tpl rename to legacy/modules/candidates/ErrorModal.tpl diff --git a/modules/candidates/HotList.tpl b/legacy/modules/candidates/HotList.tpl similarity index 100% rename from modules/candidates/HotList.tpl rename to legacy/modules/candidates/HotList.tpl diff --git a/modules/candidates/LinkDuplicity.tpl b/legacy/modules/candidates/LinkDuplicity.tpl similarity index 100% rename from modules/candidates/LinkDuplicity.tpl rename to legacy/modules/candidates/LinkDuplicity.tpl diff --git a/modules/candidates/Merge.tpl b/legacy/modules/candidates/Merge.tpl similarity index 100% rename from modules/candidates/Merge.tpl rename to legacy/modules/candidates/Merge.tpl diff --git a/modules/candidates/Questionnaire.tpl b/legacy/modules/candidates/Questionnaire.tpl similarity index 100% rename from modules/candidates/Questionnaire.tpl rename to legacy/modules/candidates/Questionnaire.tpl diff --git a/modules/candidates/ResumeView.tpl b/legacy/modules/candidates/ResumeView.tpl similarity index 100% rename from modules/candidates/ResumeView.tpl rename to legacy/modules/candidates/ResumeView.tpl diff --git a/modules/candidates/Search.tpl b/legacy/modules/candidates/Search.tpl similarity index 100% rename from modules/candidates/Search.tpl rename to legacy/modules/candidates/Search.tpl diff --git a/modules/candidates/SendEmail.tpl b/legacy/modules/candidates/SendEmail.tpl similarity index 100% rename from modules/candidates/SendEmail.tpl rename to legacy/modules/candidates/SendEmail.tpl diff --git a/modules/candidates/Show.tpl b/legacy/modules/candidates/Show.tpl similarity index 100% rename from modules/candidates/Show.tpl rename to legacy/modules/candidates/Show.tpl diff --git a/modules/candidates/activityvalidator.js b/legacy/modules/candidates/activityvalidator.js similarity index 100% rename from modules/candidates/activityvalidator.js rename to legacy/modules/candidates/activityvalidator.js diff --git a/modules/candidates/dataGrids.php b/legacy/modules/candidates/dataGrids.php similarity index 100% rename from modules/candidates/dataGrids.php rename to legacy/modules/candidates/dataGrids.php diff --git a/modules/candidates/quickAction-candidates.js b/legacy/modules/candidates/quickAction-candidates.js similarity index 100% rename from modules/candidates/quickAction-candidates.js rename to legacy/modules/candidates/quickAction-candidates.js diff --git a/modules/candidates/quickAction-duplicates.js b/legacy/modules/candidates/quickAction-duplicates.js similarity index 100% rename from modules/candidates/quickAction-duplicates.js rename to legacy/modules/candidates/quickAction-duplicates.js diff --git a/modules/candidates/validator.js b/legacy/modules/candidates/validator.js similarity index 100% rename from modules/candidates/validator.js rename to legacy/modules/candidates/validator.js diff --git a/modules/careers/Blank.tpl b/legacy/modules/careers/Blank.tpl similarity index 100% rename from modules/careers/Blank.tpl rename to legacy/modules/careers/Blank.tpl diff --git a/modules/careers/Blank2.tpl b/legacy/modules/careers/Blank2.tpl similarity index 100% rename from modules/careers/Blank2.tpl rename to legacy/modules/careers/Blank2.tpl diff --git a/modules/careers/BlankNoMargin.tpl b/legacy/modules/careers/BlankNoMargin.tpl similarity index 100% rename from modules/careers/BlankNoMargin.tpl rename to legacy/modules/careers/BlankNoMargin.tpl diff --git a/modules/careers/CareersUI.php b/legacy/modules/careers/CareersUI.php similarity index 100% rename from modules/careers/CareersUI.php rename to legacy/modules/careers/CareersUI.php diff --git a/modules/careers/Error.tpl b/legacy/modules/careers/Error.tpl similarity index 100% rename from modules/careers/Error.tpl rename to legacy/modules/careers/Error.tpl diff --git a/scripts/index.php b/legacy/modules/careers/Openings.tpl similarity index 100% rename from scripts/index.php rename to legacy/modules/careers/Openings.tpl diff --git a/legacy/modules/careers/SearchOpenings.tpl b/legacy/modules/careers/SearchOpenings.tpl new file mode 100755 index 000000000..e69de29bb diff --git a/modules/companies/Add.tpl b/legacy/modules/companies/Add.tpl similarity index 100% rename from modules/companies/Add.tpl rename to legacy/modules/companies/Add.tpl diff --git a/modules/companies/Companies.tpl b/legacy/modules/companies/Companies.tpl similarity index 100% rename from modules/companies/Companies.tpl rename to legacy/modules/companies/Companies.tpl diff --git a/modules/companies/CompaniesUI.php b/legacy/modules/companies/CompaniesUI.php similarity index 100% rename from modules/companies/CompaniesUI.php rename to legacy/modules/companies/CompaniesUI.php diff --git a/modules/companies/CreateAttachmentModal.tpl b/legacy/modules/companies/CreateAttachmentModal.tpl similarity index 100% rename from modules/companies/CreateAttachmentModal.tpl rename to legacy/modules/companies/CreateAttachmentModal.tpl diff --git a/modules/companies/Edit.tpl b/legacy/modules/companies/Edit.tpl similarity index 100% rename from modules/companies/Edit.tpl rename to legacy/modules/companies/Edit.tpl diff --git a/modules/companies/Error.tpl b/legacy/modules/companies/Error.tpl similarity index 100% rename from modules/companies/Error.tpl rename to legacy/modules/companies/Error.tpl diff --git a/modules/companies/ErrorModal.tpl b/legacy/modules/companies/ErrorModal.tpl similarity index 100% rename from modules/companies/ErrorModal.tpl rename to legacy/modules/companies/ErrorModal.tpl diff --git a/modules/companies/Search.tpl b/legacy/modules/companies/Search.tpl similarity index 100% rename from modules/companies/Search.tpl rename to legacy/modules/companies/Search.tpl diff --git a/modules/companies/Show.tpl b/legacy/modules/companies/Show.tpl similarity index 100% rename from modules/companies/Show.tpl rename to legacy/modules/companies/Show.tpl diff --git a/modules/companies/dataGrids.php b/legacy/modules/companies/dataGrids.php similarity index 100% rename from modules/companies/dataGrids.php rename to legacy/modules/companies/dataGrids.php diff --git a/modules/companies/validator.js b/legacy/modules/companies/validator.js similarity index 100% rename from modules/companies/validator.js rename to legacy/modules/companies/validator.js diff --git a/modules/contacts/Add.tpl b/legacy/modules/contacts/Add.tpl similarity index 100% rename from modules/contacts/Add.tpl rename to legacy/modules/contacts/Add.tpl diff --git a/modules/contacts/AddActivityScheduleEventModal.tpl b/legacy/modules/contacts/AddActivityScheduleEventModal.tpl similarity index 100% rename from modules/contacts/AddActivityScheduleEventModal.tpl rename to legacy/modules/contacts/AddActivityScheduleEventModal.tpl diff --git a/modules/contacts/ColdCallList.tpl b/legacy/modules/contacts/ColdCallList.tpl similarity index 100% rename from modules/contacts/ColdCallList.tpl rename to legacy/modules/contacts/ColdCallList.tpl diff --git a/modules/contacts/Contacts.tpl b/legacy/modules/contacts/Contacts.tpl similarity index 100% rename from modules/contacts/Contacts.tpl rename to legacy/modules/contacts/Contacts.tpl diff --git a/modules/contacts/ContactsUI.php b/legacy/modules/contacts/ContactsUI.php similarity index 100% rename from modules/contacts/ContactsUI.php rename to legacy/modules/contacts/ContactsUI.php diff --git a/modules/contacts/Edit.tpl b/legacy/modules/contacts/Edit.tpl similarity index 100% rename from modules/contacts/Edit.tpl rename to legacy/modules/contacts/Edit.tpl diff --git a/modules/contacts/Error.tpl b/legacy/modules/contacts/Error.tpl similarity index 100% rename from modules/contacts/Error.tpl rename to legacy/modules/contacts/Error.tpl diff --git a/modules/contacts/ErrorModal.tpl b/legacy/modules/contacts/ErrorModal.tpl similarity index 100% rename from modules/contacts/ErrorModal.tpl rename to legacy/modules/contacts/ErrorModal.tpl diff --git a/modules/contacts/Search.tpl b/legacy/modules/contacts/Search.tpl similarity index 100% rename from modules/contacts/Search.tpl rename to legacy/modules/contacts/Search.tpl diff --git a/modules/contacts/Show.tpl b/legacy/modules/contacts/Show.tpl similarity index 100% rename from modules/contacts/Show.tpl rename to legacy/modules/contacts/Show.tpl diff --git a/modules/contacts/activityvalidator.js b/legacy/modules/contacts/activityvalidator.js similarity index 100% rename from modules/contacts/activityvalidator.js rename to legacy/modules/contacts/activityvalidator.js diff --git a/modules/contacts/dataGrids.php b/legacy/modules/contacts/dataGrids.php similarity index 100% rename from modules/contacts/dataGrids.php rename to legacy/modules/contacts/dataGrids.php diff --git a/modules/contacts/validator.js b/legacy/modules/contacts/validator.js similarity index 100% rename from modules/contacts/validator.js rename to legacy/modules/contacts/validator.js diff --git a/modules/export/ExportUI.php b/legacy/modules/export/ExportUI.php similarity index 100% rename from modules/export/ExportUI.php rename to legacy/modules/export/ExportUI.php diff --git a/modules/graphs/GraphsUI.php b/legacy/modules/graphs/GraphsUI.php similarity index 100% rename from modules/graphs/GraphsUI.php rename to legacy/modules/graphs/GraphsUI.php diff --git a/modules/home/Error.tpl b/legacy/modules/home/Error.tpl similarity index 100% rename from modules/home/Error.tpl rename to legacy/modules/home/Error.tpl diff --git a/modules/home/FriendlyError.tpl b/legacy/modules/home/FriendlyError.tpl similarity index 100% rename from modules/home/FriendlyError.tpl rename to legacy/modules/home/FriendlyError.tpl diff --git a/modules/home/Home.tpl b/legacy/modules/home/Home.tpl similarity index 100% rename from modules/home/Home.tpl rename to legacy/modules/home/Home.tpl diff --git a/modules/home/HomeUI.php b/legacy/modules/home/HomeUI.php similarity index 100% rename from modules/home/HomeUI.php rename to legacy/modules/home/HomeUI.php diff --git a/modules/home/SearchEverything.tpl b/legacy/modules/home/SearchEverything.tpl similarity index 100% rename from modules/home/SearchEverything.tpl rename to legacy/modules/home/SearchEverything.tpl diff --git a/modules/home/dataGrids.php b/legacy/modules/home/dataGrids.php similarity index 100% rename from modules/home/dataGrids.php rename to legacy/modules/home/dataGrids.php diff --git a/modules/import/BulkResumesHelp.tpl b/legacy/modules/import/BulkResumesHelp.tpl similarity index 100% rename from modules/import/BulkResumesHelp.tpl rename to legacy/modules/import/BulkResumesHelp.tpl diff --git a/modules/import/Error.tpl b/legacy/modules/import/Error.tpl similarity index 100% rename from modules/import/Error.tpl rename to legacy/modules/import/Error.tpl diff --git a/modules/import/ErrorModal.tpl b/legacy/modules/import/ErrorModal.tpl similarity index 100% rename from modules/import/ErrorModal.tpl rename to legacy/modules/import/ErrorModal.tpl diff --git a/modules/import/Import.php b/legacy/modules/import/Import.php similarity index 100% rename from modules/import/Import.php rename to legacy/modules/import/Import.php diff --git a/modules/import/Import.tpl b/legacy/modules/import/Import.tpl similarity index 100% rename from modules/import/Import.tpl rename to legacy/modules/import/Import.tpl diff --git a/modules/import/Import1.tpl b/legacy/modules/import/Import1.tpl similarity index 100% rename from modules/import/Import1.tpl rename to legacy/modules/import/Import1.tpl diff --git a/modules/import/Import2.tpl b/legacy/modules/import/Import2.tpl similarity index 100% rename from modules/import/Import2.tpl rename to legacy/modules/import/Import2.tpl diff --git a/modules/import/ImportCommits.tpl b/legacy/modules/import/ImportCommits.tpl similarity index 100% rename from modules/import/ImportCommits.tpl rename to legacy/modules/import/ImportCommits.tpl diff --git a/modules/import/ImportRecent.tpl b/legacy/modules/import/ImportRecent.tpl similarity index 100% rename from modules/import/ImportRecent.tpl rename to legacy/modules/import/ImportRecent.tpl diff --git a/modules/import/ImportResumesBulk.tpl b/legacy/modules/import/ImportResumesBulk.tpl similarity index 100% rename from modules/import/ImportResumesBulk.tpl rename to legacy/modules/import/ImportResumesBulk.tpl diff --git a/modules/import/ImportUI.php b/legacy/modules/import/ImportUI.php similarity index 100% rename from modules/import/ImportUI.php rename to legacy/modules/import/ImportUI.php diff --git a/modules/import/MassImport.css b/legacy/modules/import/MassImport.css similarity index 100% rename from modules/import/MassImport.css rename to legacy/modules/import/MassImport.css diff --git a/modules/import/MassImport.tpl b/legacy/modules/import/MassImport.tpl similarity index 100% rename from modules/import/MassImport.tpl rename to legacy/modules/import/MassImport.tpl diff --git a/modules/import/MassImportEdit.tpl b/legacy/modules/import/MassImportEdit.tpl similarity index 100% rename from modules/import/MassImportEdit.tpl rename to legacy/modules/import/MassImportEdit.tpl diff --git a/modules/import/MassImportStep1.tpl b/legacy/modules/import/MassImportStep1.tpl similarity index 100% rename from modules/import/MassImportStep1.tpl rename to legacy/modules/import/MassImportStep1.tpl diff --git a/modules/import/MassImportStep2.tpl b/legacy/modules/import/MassImportStep2.tpl similarity index 100% rename from modules/import/MassImportStep2.tpl rename to legacy/modules/import/MassImportStep2.tpl diff --git a/modules/import/MassImportStep3.tpl b/legacy/modules/import/MassImportStep3.tpl similarity index 100% rename from modules/import/MassImportStep3.tpl rename to legacy/modules/import/MassImportStep3.tpl diff --git a/modules/import/MassImportStep4.tpl b/legacy/modules/import/MassImportStep4.tpl similarity index 100% rename from modules/import/MassImportStep4.tpl rename to legacy/modules/import/MassImportStep4.tpl diff --git a/modules/import/ajax/processMassImportItem.php b/legacy/modules/import/ajax/processMassImportItem.php similarity index 100% rename from modules/import/ajax/processMassImportItem.php rename to legacy/modules/import/ajax/processMassImportItem.php diff --git a/modules/import/import.js b/legacy/modules/import/import.js similarity index 100% rename from modules/import/import.js rename to legacy/modules/import/import.js diff --git a/modules/install/CATSUI.php b/legacy/modules/install/CATSUI.php similarity index 100% rename from modules/install/CATSUI.php rename to legacy/modules/install/CATSUI.php diff --git a/modules/install/OptionalComponents.php b/legacy/modules/install/OptionalComponents.php similarity index 100% rename from modules/install/OptionalComponents.php rename to legacy/modules/install/OptionalComponents.php diff --git a/modules/install/Schema.php b/legacy/modules/install/Schema.php similarity index 100% rename from modules/install/Schema.php rename to legacy/modules/install/Schema.php diff --git a/modules/install/ajax/attachmentsReindex.php b/legacy/modules/install/ajax/attachmentsReindex.php similarity index 100% rename from modules/install/ajax/attachmentsReindex.php rename to legacy/modules/install/ajax/attachmentsReindex.php diff --git a/modules/install/ajax/attachmentsToThreeDirectory.php b/legacy/modules/install/ajax/attachmentsToThreeDirectory.php similarity index 100% rename from modules/install/ajax/attachmentsToThreeDirectory.php rename to legacy/modules/install/ajax/attachmentsToThreeDirectory.php diff --git a/modules/install/ajax/maint.php b/legacy/modules/install/ajax/maint.php similarity index 100% rename from modules/install/ajax/maint.php rename to legacy/modules/install/ajax/maint.php diff --git a/modules/install/ajax/ui.php b/legacy/modules/install/ajax/ui.php similarity index 100% rename from modules/install/ajax/ui.php rename to legacy/modules/install/ajax/ui.php diff --git a/modules/install/backupDB.php b/legacy/modules/install/backupDB.php similarity index 100% rename from modules/install/backupDB.php rename to legacy/modules/install/backupDB.php diff --git a/modules/install/install.css b/legacy/modules/install/install.css similarity index 100% rename from modules/install/install.css rename to legacy/modules/install/install.css diff --git a/modules/install/notinstalled.php b/legacy/modules/install/notinstalled.php similarity index 100% rename from modules/install/notinstalled.php rename to legacy/modules/install/notinstalled.php diff --git a/modules/install/phpVersion.php b/legacy/modules/install/phpVersion.php similarity index 100% rename from modules/install/phpVersion.php rename to legacy/modules/install/phpVersion.php diff --git a/modules/install/scripts/114.php b/legacy/modules/install/scripts/114.php similarity index 100% rename from modules/install/scripts/114.php rename to legacy/modules/install/scripts/114.php diff --git a/modules/install/scripts/150.php b/legacy/modules/install/scripts/150.php similarity index 100% rename from modules/install/scripts/150.php rename to legacy/modules/install/scripts/150.php diff --git a/modules/install/scripts/359.sql b/legacy/modules/install/scripts/359.sql similarity index 100% rename from modules/install/scripts/359.sql rename to legacy/modules/install/scripts/359.sql diff --git a/modules/install/scripts/372.php b/legacy/modules/install/scripts/372.php similarity index 100% rename from modules/install/scripts/372.php rename to legacy/modules/install/scripts/372.php diff --git a/modules/install/testdocs/test.doc b/legacy/modules/install/testdocs/test.doc similarity index 100% rename from modules/install/testdocs/test.doc rename to legacy/modules/install/testdocs/test.doc diff --git a/modules/install/testdocs/test.html b/legacy/modules/install/testdocs/test.html similarity index 100% rename from modules/install/testdocs/test.html rename to legacy/modules/install/testdocs/test.html diff --git a/modules/install/testdocs/test.pdf b/legacy/modules/install/testdocs/test.pdf similarity index 100% rename from modules/install/testdocs/test.pdf rename to legacy/modules/install/testdocs/test.pdf diff --git a/modules/install/testdocs/test.rtf b/legacy/modules/install/testdocs/test.rtf similarity index 100% rename from modules/install/testdocs/test.rtf rename to legacy/modules/install/testdocs/test.rtf diff --git a/modules/joborders/Add.tpl b/legacy/modules/joborders/Add.tpl similarity index 100% rename from modules/joborders/Add.tpl rename to legacy/modules/joborders/Add.tpl diff --git a/modules/joborders/AddModalPopup.tpl b/legacy/modules/joborders/AddModalPopup.tpl similarity index 100% rename from modules/joborders/AddModalPopup.tpl rename to legacy/modules/joborders/AddModalPopup.tpl diff --git a/modules/joborders/ConsiderSearchModal.tpl b/legacy/modules/joborders/ConsiderSearchModal.tpl similarity index 100% rename from modules/joborders/ConsiderSearchModal.tpl rename to legacy/modules/joborders/ConsiderSearchModal.tpl diff --git a/modules/joborders/CreateAttachmentModal.tpl b/legacy/modules/joborders/CreateAttachmentModal.tpl similarity index 100% rename from modules/joborders/CreateAttachmentModal.tpl rename to legacy/modules/joborders/CreateAttachmentModal.tpl diff --git a/modules/joborders/Edit.tpl b/legacy/modules/joborders/Edit.tpl similarity index 100% rename from modules/joborders/Edit.tpl rename to legacy/modules/joborders/Edit.tpl diff --git a/modules/joborders/Error.tpl b/legacy/modules/joborders/Error.tpl similarity index 100% rename from modules/joborders/Error.tpl rename to legacy/modules/joborders/Error.tpl diff --git a/modules/joborders/ErrorModal.tpl b/legacy/modules/joborders/ErrorModal.tpl similarity index 100% rename from modules/joborders/ErrorModal.tpl rename to legacy/modules/joborders/ErrorModal.tpl diff --git a/modules/joborders/JobOrders.tpl b/legacy/modules/joborders/JobOrders.tpl similarity index 100% rename from modules/joborders/JobOrders.tpl rename to legacy/modules/joborders/JobOrders.tpl diff --git a/modules/joborders/JobOrdersUI.php b/legacy/modules/joborders/JobOrdersUI.php similarity index 100% rename from modules/joborders/JobOrdersUI.php rename to legacy/modules/joborders/JobOrdersUI.php diff --git a/modules/joborders/Search.tpl b/legacy/modules/joborders/Search.tpl similarity index 100% rename from modules/joborders/Search.tpl rename to legacy/modules/joborders/Search.tpl diff --git a/modules/joborders/Show.tpl b/legacy/modules/joborders/Show.tpl similarity index 100% rename from modules/joborders/Show.tpl rename to legacy/modules/joborders/Show.tpl diff --git a/modules/joborders/dataGrids.php b/legacy/modules/joborders/dataGrids.php similarity index 100% rename from modules/joborders/dataGrids.php rename to legacy/modules/joborders/dataGrids.php diff --git a/modules/joborders/validator.js b/legacy/modules/joborders/validator.js similarity index 100% rename from modules/joborders/validator.js rename to legacy/modules/joborders/validator.js diff --git a/modules/lists/List.tpl b/legacy/modules/lists/List.tpl similarity index 100% rename from modules/lists/List.tpl rename to legacy/modules/lists/List.tpl diff --git a/modules/lists/Lists.tpl b/legacy/modules/lists/Lists.tpl similarity index 100% rename from modules/lists/Lists.tpl rename to legacy/modules/lists/Lists.tpl diff --git a/modules/lists/ListsUI.php b/legacy/modules/lists/ListsUI.php similarity index 100% rename from modules/lists/ListsUI.php rename to legacy/modules/lists/ListsUI.php diff --git a/modules/lists/QuickActionAddToListModal.tpl b/legacy/modules/lists/QuickActionAddToListModal.tpl similarity index 100% rename from modules/lists/QuickActionAddToListModal.tpl rename to legacy/modules/lists/QuickActionAddToListModal.tpl diff --git a/modules/lists/ajax/addToLists.php b/legacy/modules/lists/ajax/addToLists.php similarity index 100% rename from modules/lists/ajax/addToLists.php rename to legacy/modules/lists/ajax/addToLists.php diff --git a/modules/lists/ajax/deleteList.php b/legacy/modules/lists/ajax/deleteList.php similarity index 100% rename from modules/lists/ajax/deleteList.php rename to legacy/modules/lists/ajax/deleteList.php diff --git a/modules/lists/ajax/editListName.php b/legacy/modules/lists/ajax/editListName.php similarity index 100% rename from modules/lists/ajax/editListName.php rename to legacy/modules/lists/ajax/editListName.php diff --git a/modules/lists/ajax/newList.php b/legacy/modules/lists/ajax/newList.php similarity index 100% rename from modules/lists/ajax/newList.php rename to legacy/modules/lists/ajax/newList.php diff --git a/modules/lists/dataGrids.php b/legacy/modules/lists/dataGrids.php similarity index 100% rename from modules/lists/dataGrids.php rename to legacy/modules/lists/dataGrids.php diff --git a/modules/login/ForgotPassword.tpl b/legacy/modules/login/ForgotPassword.tpl similarity index 100% rename from modules/login/ForgotPassword.tpl rename to legacy/modules/login/ForgotPassword.tpl diff --git a/modules/login/Login.tpl b/legacy/modules/login/Login.tpl similarity index 100% rename from modules/login/Login.tpl rename to legacy/modules/login/Login.tpl diff --git a/modules/login/LoginUI.php b/legacy/modules/login/LoginUI.php similarity index 100% rename from modules/login/LoginUI.php rename to legacy/modules/login/LoginUI.php diff --git a/modules/login/NoCookiesModal.tpl b/legacy/modules/login/NoCookiesModal.tpl similarity index 100% rename from modules/login/NoCookiesModal.tpl rename to legacy/modules/login/NoCookiesModal.tpl diff --git a/modules/login/login.css b/legacy/modules/login/login.css similarity index 100% rename from modules/login/login.css rename to legacy/modules/login/login.css diff --git a/modules/login/validator.js b/legacy/modules/login/validator.js similarity index 100% rename from modules/login/validator.js rename to legacy/modules/login/validator.js diff --git a/modules/login/wizard/Email.tpl b/legacy/modules/login/wizard/Email.tpl similarity index 100% rename from modules/login/wizard/Email.tpl rename to legacy/modules/login/wizard/Email.tpl diff --git a/modules/login/wizard/Intro.tpl b/legacy/modules/login/wizard/Intro.tpl similarity index 100% rename from modules/login/wizard/Intro.tpl rename to legacy/modules/login/wizard/Intro.tpl diff --git a/modules/login/wizard/Localization.tpl b/legacy/modules/login/wizard/Localization.tpl similarity index 100% rename from modules/login/wizard/Localization.tpl rename to legacy/modules/login/wizard/Localization.tpl diff --git a/modules/login/wizard/Password.tpl b/legacy/modules/login/wizard/Password.tpl similarity index 100% rename from modules/login/wizard/Password.tpl rename to legacy/modules/login/wizard/Password.tpl diff --git a/modules/login/wizard/SiteName.tpl b/legacy/modules/login/wizard/SiteName.tpl similarity index 100% rename from modules/login/wizard/SiteName.tpl rename to legacy/modules/login/wizard/SiteName.tpl diff --git a/modules/login/wizard/Users.tpl b/legacy/modules/login/wizard/Users.tpl similarity index 100% rename from modules/login/wizard/Users.tpl rename to legacy/modules/login/wizard/Users.tpl diff --git a/modules/queue/QueueUI.php b/legacy/modules/queue/QueueUI.php similarity index 100% rename from modules/queue/QueueUI.php rename to legacy/modules/queue/QueueUI.php diff --git a/modules/queue/constants.php b/legacy/modules/queue/constants.php similarity index 100% rename from modules/queue/constants.php rename to legacy/modules/queue/constants.php diff --git a/modules/queue/lib/Task.php b/legacy/modules/queue/lib/Task.php similarity index 100% rename from modules/queue/lib/Task.php rename to legacy/modules/queue/lib/Task.php diff --git a/modules/queue/tasks.php b/legacy/modules/queue/tasks.php similarity index 100% rename from modules/queue/tasks.php rename to legacy/modules/queue/tasks.php diff --git a/modules/queue/tasks/CleanExceptions.php b/legacy/modules/queue/tasks/CleanExceptions.php similarity index 100% rename from modules/queue/tasks/CleanExceptions.php rename to legacy/modules/queue/tasks/CleanExceptions.php diff --git a/modules/queue/tasks/SampleRecurring.php b/legacy/modules/queue/tasks/SampleRecurring.php similarity index 100% rename from modules/queue/tasks/SampleRecurring.php rename to legacy/modules/queue/tasks/SampleRecurring.php diff --git a/modules/queue/tasks/SampleTask.php b/legacy/modules/queue/tasks/SampleTask.php similarity index 100% rename from modules/queue/tasks/SampleTask.php rename to legacy/modules/queue/tasks/SampleTask.php diff --git a/modules/queue/tasks/lib/Task.php b/legacy/modules/queue/tasks/lib/Task.php similarity index 100% rename from modules/queue/tasks/lib/Task.php rename to legacy/modules/queue/tasks/lib/Task.php diff --git a/modules/queue/tasks/tasks.php b/legacy/modules/queue/tasks/tasks.php similarity index 100% rename from modules/queue/tasks/tasks.php rename to legacy/modules/queue/tasks/tasks.php diff --git a/modules/reports/EEOReport.tpl b/legacy/modules/reports/EEOReport.tpl similarity index 100% rename from modules/reports/EEOReport.tpl rename to legacy/modules/reports/EEOReport.tpl diff --git a/modules/reports/Error.tpl b/legacy/modules/reports/Error.tpl similarity index 100% rename from modules/reports/Error.tpl rename to legacy/modules/reports/Error.tpl diff --git a/modules/reports/GraphView.tpl b/legacy/modules/reports/GraphView.tpl similarity index 100% rename from modules/reports/GraphView.tpl rename to legacy/modules/reports/GraphView.tpl diff --git a/modules/reports/JobOrderReport.tpl b/legacy/modules/reports/JobOrderReport.tpl similarity index 100% rename from modules/reports/JobOrderReport.tpl rename to legacy/modules/reports/JobOrderReport.tpl diff --git a/modules/reports/NewDataItems.tpl b/legacy/modules/reports/NewDataItems.tpl similarity index 100% rename from modules/reports/NewDataItems.tpl rename to legacy/modules/reports/NewDataItems.tpl diff --git a/modules/reports/PlacedReport.tpl b/legacy/modules/reports/PlacedReport.tpl similarity index 100% rename from modules/reports/PlacedReport.tpl rename to legacy/modules/reports/PlacedReport.tpl diff --git a/modules/reports/Reports.tpl b/legacy/modules/reports/Reports.tpl similarity index 100% rename from modules/reports/Reports.tpl rename to legacy/modules/reports/Reports.tpl diff --git a/modules/reports/ReportsUI.php b/legacy/modules/reports/ReportsUI.php similarity index 100% rename from modules/reports/ReportsUI.php rename to legacy/modules/reports/ReportsUI.php diff --git a/modules/reports/SubmissionReport.tpl b/legacy/modules/reports/SubmissionReport.tpl similarity index 100% rename from modules/reports/SubmissionReport.tpl rename to legacy/modules/reports/SubmissionReport.tpl diff --git a/modules/rss/RssUI.php b/legacy/modules/rss/RssUI.php similarity index 100% rename from modules/rss/RssUI.php rename to legacy/modules/rss/RssUI.php diff --git a/modules/settings/AddUser.tpl b/legacy/modules/settings/AddUser.tpl similarity index 100% rename from modules/settings/AddUser.tpl rename to legacy/modules/settings/AddUser.tpl diff --git a/modules/settings/Administration.tpl b/legacy/modules/settings/Administration.tpl similarity index 100% rename from modules/settings/Administration.tpl rename to legacy/modules/settings/Administration.tpl diff --git a/modules/settings/Backup.tpl b/legacy/modules/settings/Backup.tpl similarity index 100% rename from modules/settings/Backup.tpl rename to legacy/modules/settings/Backup.tpl diff --git a/modules/settings/CareerPortalQuestionnaire.tpl b/legacy/modules/settings/CareerPortalQuestionnaire.tpl similarity index 100% rename from modules/settings/CareerPortalQuestionnaire.tpl rename to legacy/modules/settings/CareerPortalQuestionnaire.tpl diff --git a/modules/settings/CareerPortalQuestionnaireShow.tpl b/legacy/modules/settings/CareerPortalQuestionnaireShow.tpl similarity index 100% rename from modules/settings/CareerPortalQuestionnaireShow.tpl rename to legacy/modules/settings/CareerPortalQuestionnaireShow.tpl diff --git a/modules/settings/CareerPortalSettings.tpl b/legacy/modules/settings/CareerPortalSettings.tpl similarity index 100% rename from modules/settings/CareerPortalSettings.tpl rename to legacy/modules/settings/CareerPortalSettings.tpl diff --git a/modules/settings/CareerPortalTemplateEdit.tpl b/legacy/modules/settings/CareerPortalTemplateEdit.tpl similarity index 100% rename from modules/settings/CareerPortalTemplateEdit.tpl rename to legacy/modules/settings/CareerPortalTemplateEdit.tpl diff --git a/modules/settings/ChangePassword.tpl b/legacy/modules/settings/ChangePassword.tpl similarity index 100% rename from modules/settings/ChangePassword.tpl rename to legacy/modules/settings/ChangePassword.tpl diff --git a/modules/settings/CustomizeCalendar.tpl b/legacy/modules/settings/CustomizeCalendar.tpl similarity index 100% rename from modules/settings/CustomizeCalendar.tpl rename to legacy/modules/settings/CustomizeCalendar.tpl diff --git a/modules/settings/CustomizeExtraFields.tpl b/legacy/modules/settings/CustomizeExtraFields.tpl similarity index 100% rename from modules/settings/CustomizeExtraFields.tpl rename to legacy/modules/settings/CustomizeExtraFields.tpl diff --git a/modules/settings/CustomizeReports.tpl b/legacy/modules/settings/CustomizeReports.tpl similarity index 100% rename from modules/settings/CustomizeReports.tpl rename to legacy/modules/settings/CustomizeReports.tpl diff --git a/modules/settings/EEOEOCSettings.tpl b/legacy/modules/settings/EEOEOCSettings.tpl similarity index 100% rename from modules/settings/EEOEOCSettings.tpl rename to legacy/modules/settings/EEOEOCSettings.tpl diff --git a/modules/settings/EditUser.tpl b/legacy/modules/settings/EditUser.tpl similarity index 100% rename from modules/settings/EditUser.tpl rename to legacy/modules/settings/EditUser.tpl diff --git a/modules/settings/EmailSettings.tpl b/legacy/modules/settings/EmailSettings.tpl similarity index 100% rename from modules/settings/EmailSettings.tpl rename to legacy/modules/settings/EmailSettings.tpl diff --git a/modules/settings/EmailTemplates.tpl b/legacy/modules/settings/EmailTemplates.tpl similarity index 100% rename from modules/settings/EmailTemplates.tpl rename to legacy/modules/settings/EmailTemplates.tpl diff --git a/modules/settings/Error.tpl b/legacy/modules/settings/Error.tpl similarity index 100% rename from modules/settings/Error.tpl rename to legacy/modules/settings/Error.tpl diff --git a/modules/settings/ItemHistory.tpl b/legacy/modules/settings/ItemHistory.tpl similarity index 100% rename from modules/settings/ItemHistory.tpl rename to legacy/modules/settings/ItemHistory.tpl diff --git a/modules/settings/Localization.tpl b/legacy/modules/settings/Localization.tpl similarity index 100% rename from modules/settings/Localization.tpl rename to legacy/modules/settings/Localization.tpl diff --git a/modules/settings/LoginActivity.tpl b/legacy/modules/settings/LoginActivity.tpl similarity index 100% rename from modules/settings/LoginActivity.tpl rename to legacy/modules/settings/LoginActivity.tpl diff --git a/modules/settings/MyProfile.tpl b/legacy/modules/settings/MyProfile.tpl similarity index 100% rename from modules/settings/MyProfile.tpl rename to legacy/modules/settings/MyProfile.tpl diff --git a/modules/settings/NewInstallWizard.tpl b/legacy/modules/settings/NewInstallWizard.tpl similarity index 100% rename from modules/settings/NewInstallWizard.tpl rename to legacy/modules/settings/NewInstallWizard.tpl diff --git a/modules/settings/NewVersionCheck.tpl b/legacy/modules/settings/NewVersionCheck.tpl similarity index 100% rename from modules/settings/NewVersionCheck.tpl rename to legacy/modules/settings/NewVersionCheck.tpl diff --git a/modules/settings/Passwords.tpl b/legacy/modules/settings/Passwords.tpl similarity index 100% rename from modules/settings/Passwords.tpl rename to legacy/modules/settings/Passwords.tpl diff --git a/modules/settings/PreviewPage.tpl b/legacy/modules/settings/PreviewPage.tpl similarity index 100% rename from modules/settings/PreviewPage.tpl rename to legacy/modules/settings/PreviewPage.tpl diff --git a/modules/settings/PreviewPageTop.tpl b/legacy/modules/settings/PreviewPageTop.tpl similarity index 100% rename from modules/settings/PreviewPageTop.tpl rename to legacy/modules/settings/PreviewPageTop.tpl diff --git a/modules/settings/Settings.js b/legacy/modules/settings/Settings.js similarity index 100% rename from modules/settings/Settings.js rename to legacy/modules/settings/Settings.js diff --git a/modules/settings/SettingsUI.php b/legacy/modules/settings/SettingsUI.php similarity index 100% rename from modules/settings/SettingsUI.php rename to legacy/modules/settings/SettingsUI.php diff --git a/modules/settings/ShowUser.tpl b/legacy/modules/settings/ShowUser.tpl similarity index 100% rename from modules/settings/ShowUser.tpl rename to legacy/modules/settings/ShowUser.tpl diff --git a/modules/settings/SiteName.tpl b/legacy/modules/settings/SiteName.tpl similarity index 100% rename from modules/settings/SiteName.tpl rename to legacy/modules/settings/SiteName.tpl diff --git a/modules/settings/SystemInformation.tpl b/legacy/modules/settings/SystemInformation.tpl similarity index 100% rename from modules/settings/SystemInformation.tpl rename to legacy/modules/settings/SystemInformation.tpl diff --git a/modules/settings/Users.tpl b/legacy/modules/settings/Users.tpl similarity index 100% rename from modules/settings/Users.tpl rename to legacy/modules/settings/Users.tpl diff --git a/modules/settings/ajax/backup.php b/legacy/modules/settings/ajax/backup.php similarity index 100% rename from modules/settings/ajax/backup.php rename to legacy/modules/settings/ajax/backup.php diff --git a/modules/settings/downloads.css b/legacy/modules/settings/downloads.css similarity index 100% rename from modules/settings/downloads.css rename to legacy/modules/settings/downloads.css diff --git a/modules/settings/tags.tpl b/legacy/modules/settings/tags.tpl similarity index 100% rename from modules/settings/tags.tpl rename to legacy/modules/settings/tags.tpl diff --git a/modules/settings/validator.js b/legacy/modules/settings/validator.js similarity index 100% rename from modules/settings/validator.js rename to legacy/modules/settings/validator.js diff --git a/modules/wizard/Show.tpl b/legacy/modules/wizard/Show.tpl similarity index 100% rename from modules/wizard/Show.tpl rename to legacy/modules/wizard/Show.tpl diff --git a/modules/wizard/WizardUI.php b/legacy/modules/wizard/WizardUI.php similarity index 100% rename from modules/wizard/WizardUI.php rename to legacy/modules/wizard/WizardUI.php diff --git a/modules/wizard/style.css b/legacy/modules/wizard/style.css similarity index 100% rename from modules/wizard/style.css rename to legacy/modules/wizard/style.css diff --git a/modules/wizard/wizard.js b/legacy/modules/wizard/wizard.js similarity index 100% rename from modules/wizard/wizard.js rename to legacy/modules/wizard/wizard.js diff --git a/modules/xml/XmlUI.php b/legacy/modules/xml/XmlUI.php similarity index 100% rename from modules/xml/XmlUI.php rename to legacy/modules/xml/XmlUI.php diff --git a/modules/xml/xml_templates/indeed.xtpl b/legacy/modules/xml/xml_templates/indeed.xtpl similarity index 100% rename from modules/xml/xml_templates/indeed.xtpl rename to legacy/modules/xml/xml_templates/indeed.xtpl diff --git a/modules/xml/xml_templates/rss.xtpl b/legacy/modules/xml/xml_templates/rss.xtpl similarity index 100% rename from modules/xml/xml_templates/rss.xtpl rename to legacy/modules/xml/xml_templates/rss.xtpl diff --git a/modules/xml/xml_templates/simplyhired.xtpl b/legacy/modules/xml/xml_templates/simplyhired.xtpl similarity index 100% rename from modules/xml/xml_templates/simplyhired.xtpl rename to legacy/modules/xml/xml_templates/simplyhired.xtpl diff --git a/not-ie.css b/legacy/not-ie.css similarity index 100% rename from not-ie.css rename to legacy/not-ie.css diff --git a/optional-updates/latest-sphinx-search/README.MD b/legacy/optional-updates/latest-sphinx-search/README.MD similarity index 100% rename from optional-updates/latest-sphinx-search/README.MD rename to legacy/optional-updates/latest-sphinx-search/README.MD diff --git a/optional-updates/latest-sphinx-search/Search.php b/legacy/optional-updates/latest-sphinx-search/Search.php similarity index 100% rename from optional-updates/latest-sphinx-search/Search.php rename to legacy/optional-updates/latest-sphinx-search/Search.php diff --git a/optional-updates/latest-sphinx-search/config.php b/legacy/optional-updates/latest-sphinx-search/config.php similarity index 100% rename from optional-updates/latest-sphinx-search/config.php rename to legacy/optional-updates/latest-sphinx-search/config.php diff --git a/optional-updates/latest-sphinx-search/sphinx.conf b/legacy/optional-updates/latest-sphinx-search/sphinx.conf similarity index 100% rename from optional-updates/latest-sphinx-search/sphinx.conf rename to legacy/optional-updates/latest-sphinx-search/sphinx.conf diff --git a/phpunit.xml.dist b/legacy/phpunit.xml.dist similarity index 100% rename from phpunit.xml.dist rename to legacy/phpunit.xml.dist diff --git a/rebuild_old_docs.php b/legacy/rebuild_old_docs.php similarity index 100% rename from rebuild_old_docs.php rename to legacy/rebuild_old_docs.php diff --git a/legacy/reports/index.html b/legacy/reports/index.html new file mode 100644 index 000000000..e69de29bb diff --git a/robots.txt b/legacy/robots.txt similarity index 100% rename from robots.txt rename to legacy/robots.txt diff --git a/rss/index.php b/legacy/rss/index.php similarity index 100% rename from rss/index.php rename to legacy/rss/index.php diff --git a/scripts/countcode.sh b/legacy/scripts/countcode.sh similarity index 100% rename from scripts/countcode.sh rename to legacy/scripts/countcode.sh diff --git a/scripts/countfilecode.awk b/legacy/scripts/countfilecode.awk similarity index 100% rename from scripts/countfilecode.awk rename to legacy/scripts/countfilecode.awk diff --git a/legacy/scripts/index.php b/legacy/scripts/index.php new file mode 100755 index 000000000..e69de29bb diff --git a/scripts/killwhitespace.sh b/legacy/scripts/killwhitespace.sh similarity index 100% rename from scripts/killwhitespace.sh rename to legacy/scripts/killwhitespace.sh diff --git a/scripts/makeBackup.php b/legacy/scripts/makeBackup.php similarity index 100% rename from scripts/makeBackup.php rename to legacy/scripts/makeBackup.php diff --git a/scripts/mysql_get_prod_db.sh b/legacy/scripts/mysql_get_prod_db.sh similarity index 100% rename from scripts/mysql_get_prod_db.sh rename to legacy/scripts/mysql_get_prod_db.sh diff --git a/scripts/newversion.sh b/legacy/scripts/newversion.sh similarity index 100% rename from scripts/newversion.sh rename to legacy/scripts/newversion.sh diff --git a/scripts/sphinx_reindex.sh b/legacy/scripts/sphinx_reindex.sh similarity index 100% rename from scripts/sphinx_reindex.sh rename to legacy/scripts/sphinx_reindex.sh diff --git a/scripts/sphinx_restart.sh b/legacy/scripts/sphinx_restart.sh similarity index 100% rename from scripts/sphinx_restart.sh rename to legacy/scripts/sphinx_restart.sh diff --git a/scripts/sphinx_rotate.sh b/legacy/scripts/sphinx_rotate.sh similarity index 100% rename from scripts/sphinx_rotate.sh rename to legacy/scripts/sphinx_rotate.sh diff --git a/scripts/sphinx_update_delta.sh b/legacy/scripts/sphinx_update_delta.sh similarity index 100% rename from scripts/sphinx_update_delta.sh rename to legacy/scripts/sphinx_update_delta.sh diff --git a/scripts/sphinxtest.php b/legacy/scripts/sphinxtest.php similarity index 100% rename from scripts/sphinxtest.php rename to legacy/scripts/sphinxtest.php diff --git a/scripts/storeDeletedAttachments.sh b/legacy/scripts/storeDeletedAttachments.sh similarity index 100% rename from scripts/storeDeletedAttachments.sh rename to legacy/scripts/storeDeletedAttachments.sh diff --git a/scripts/svnkeywords.sh b/legacy/scripts/svnkeywords.sh similarity index 100% rename from scripts/svnkeywords.sh rename to legacy/scripts/svnkeywords.sh diff --git a/src/OpenCATS/Entity/Company.php b/legacy/src/OpenCATS/Entity/Company.php similarity index 100% rename from src/OpenCATS/Entity/Company.php rename to legacy/src/OpenCATS/Entity/Company.php diff --git a/src/OpenCATS/Entity/CompanyRepository.php b/legacy/src/OpenCATS/Entity/CompanyRepository.php similarity index 100% rename from src/OpenCATS/Entity/CompanyRepository.php rename to legacy/src/OpenCATS/Entity/CompanyRepository.php diff --git a/src/OpenCATS/Entity/CompanyRepositoryException.php b/legacy/src/OpenCATS/Entity/CompanyRepositoryException.php similarity index 100% rename from src/OpenCATS/Entity/CompanyRepositoryException.php rename to legacy/src/OpenCATS/Entity/CompanyRepositoryException.php diff --git a/src/OpenCATS/Entity/JobOrder.php b/legacy/src/OpenCATS/Entity/JobOrder.php similarity index 100% rename from src/OpenCATS/Entity/JobOrder.php rename to legacy/src/OpenCATS/Entity/JobOrder.php diff --git a/src/OpenCATS/Entity/JobOrderRepository.php b/legacy/src/OpenCATS/Entity/JobOrderRepository.php similarity index 100% rename from src/OpenCATS/Entity/JobOrderRepository.php rename to legacy/src/OpenCATS/Entity/JobOrderRepository.php diff --git a/src/OpenCATS/Entity/JobOrderRepositoryException.php b/legacy/src/OpenCATS/Entity/JobOrderRepositoryException.php similarity index 100% rename from src/OpenCATS/Entity/JobOrderRepositoryException.php rename to legacy/src/OpenCATS/Entity/JobOrderRepositoryException.php diff --git a/src/OpenCATS/Tests/Behat/BrowserKit/StreamHttpBrowser.php b/legacy/src/OpenCATS/Tests/Behat/BrowserKit/StreamHttpBrowser.php similarity index 100% rename from src/OpenCATS/Tests/Behat/BrowserKit/StreamHttpBrowser.php rename to legacy/src/OpenCATS/Tests/Behat/BrowserKit/StreamHttpBrowser.php diff --git a/src/OpenCATS/Tests/Behat/ServiceContainer/Driver/BrowserKitFactory.php b/legacy/src/OpenCATS/Tests/Behat/ServiceContainer/Driver/BrowserKitFactory.php similarity index 100% rename from src/OpenCATS/Tests/Behat/ServiceContainer/Driver/BrowserKitFactory.php rename to legacy/src/OpenCATS/Tests/Behat/ServiceContainer/Driver/BrowserKitFactory.php diff --git a/src/OpenCATS/Tests/Behat/ServiceContainer/MinkExtension.php b/legacy/src/OpenCATS/Tests/Behat/ServiceContainer/MinkExtension.php similarity index 100% rename from src/OpenCATS/Tests/Behat/ServiceContainer/MinkExtension.php rename to legacy/src/OpenCATS/Tests/Behat/ServiceContainer/MinkExtension.php diff --git a/src/OpenCATS/Tests/Fixtures/SampleText.txt b/legacy/src/OpenCATS/Tests/Fixtures/SampleText.txt similarity index 100% rename from src/OpenCATS/Tests/Fixtures/SampleText.txt rename to legacy/src/OpenCATS/Tests/Fixtures/SampleText.txt diff --git a/src/OpenCATS/Tests/IntegrationTests/DatabaseConnectionTest.php b/legacy/src/OpenCATS/Tests/IntegrationTests/DatabaseConnectionTest.php similarity index 100% rename from src/OpenCATS/Tests/IntegrationTests/DatabaseConnectionTest.php rename to legacy/src/OpenCATS/Tests/IntegrationTests/DatabaseConnectionTest.php diff --git a/src/OpenCATS/Tests/IntegrationTests/DatabaseSearchTest.php b/legacy/src/OpenCATS/Tests/IntegrationTests/DatabaseSearchTest.php similarity index 100% rename from src/OpenCATS/Tests/IntegrationTests/DatabaseSearchTest.php rename to legacy/src/OpenCATS/Tests/IntegrationTests/DatabaseSearchTest.php diff --git a/src/OpenCATS/Tests/IntegrationTests/DatabaseTestCase.php b/legacy/src/OpenCATS/Tests/IntegrationTests/DatabaseTestCase.php similarity index 100% rename from src/OpenCATS/Tests/IntegrationTests/DatabaseTestCase.php rename to legacy/src/OpenCATS/Tests/IntegrationTests/DatabaseTestCase.php diff --git a/src/OpenCATS/Tests/UnitTests/AJAXInterfaceTest.php b/legacy/src/OpenCATS/Tests/UnitTests/AJAXInterfaceTest.php similarity index 100% rename from src/OpenCATS/Tests/UnitTests/AJAXInterfaceTest.php rename to legacy/src/OpenCATS/Tests/UnitTests/AJAXInterfaceTest.php diff --git a/src/OpenCATS/Tests/UnitTests/AddressParserTest.php b/legacy/src/OpenCATS/Tests/UnitTests/AddressParserTest.php similarity index 100% rename from src/OpenCATS/Tests/UnitTests/AddressParserTest.php rename to legacy/src/OpenCATS/Tests/UnitTests/AddressParserTest.php diff --git a/src/OpenCATS/Tests/UnitTests/ArrayUtilityTest.php b/legacy/src/OpenCATS/Tests/UnitTests/ArrayUtilityTest.php similarity index 100% rename from src/OpenCATS/Tests/UnitTests/ArrayUtilityTest.php rename to legacy/src/OpenCATS/Tests/UnitTests/ArrayUtilityTest.php diff --git a/src/OpenCATS/Tests/UnitTests/BrowserDetectionTest.php b/legacy/src/OpenCATS/Tests/UnitTests/BrowserDetectionTest.php similarity index 100% rename from src/OpenCATS/Tests/UnitTests/BrowserDetectionTest.php rename to legacy/src/OpenCATS/Tests/UnitTests/BrowserDetectionTest.php diff --git a/src/OpenCATS/Tests/UnitTests/CompanyRepositoryTest.php b/legacy/src/OpenCATS/Tests/UnitTests/CompanyRepositoryTest.php similarity index 100% rename from src/OpenCATS/Tests/UnitTests/CompanyRepositoryTest.php rename to legacy/src/OpenCATS/Tests/UnitTests/CompanyRepositoryTest.php diff --git a/src/OpenCATS/Tests/UnitTests/CompanyTest.php b/legacy/src/OpenCATS/Tests/UnitTests/CompanyTest.php similarity index 100% rename from src/OpenCATS/Tests/UnitTests/CompanyTest.php rename to legacy/src/OpenCATS/Tests/UnitTests/CompanyTest.php diff --git a/src/OpenCATS/Tests/UnitTests/DateUtilityTest.php b/legacy/src/OpenCATS/Tests/UnitTests/DateUtilityTest.php similarity index 100% rename from src/OpenCATS/Tests/UnitTests/DateUtilityTest.php rename to legacy/src/OpenCATS/Tests/UnitTests/DateUtilityTest.php diff --git a/src/OpenCATS/Tests/UnitTests/FileUtilityTest.php b/legacy/src/OpenCATS/Tests/UnitTests/FileUtilityTest.php similarity index 100% rename from src/OpenCATS/Tests/UnitTests/FileUtilityTest.php rename to legacy/src/OpenCATS/Tests/UnitTests/FileUtilityTest.php diff --git a/src/OpenCATS/Tests/UnitTests/JobOrderTest.php b/legacy/src/OpenCATS/Tests/UnitTests/JobOrderTest.php similarity index 100% rename from src/OpenCATS/Tests/UnitTests/JobOrderTest.php rename to legacy/src/OpenCATS/Tests/UnitTests/JobOrderTest.php diff --git a/src/OpenCATS/Tests/UnitTests/ResultSetUtilityTest.php b/legacy/src/OpenCATS/Tests/UnitTests/ResultSetUtilityTest.php similarity index 100% rename from src/OpenCATS/Tests/UnitTests/ResultSetUtilityTest.php rename to legacy/src/OpenCATS/Tests/UnitTests/ResultSetUtilityTest.php diff --git a/src/OpenCATS/Tests/UnitTests/SessionCSRFTest.php b/legacy/src/OpenCATS/Tests/UnitTests/SessionCSRFTest.php similarity index 100% rename from src/OpenCATS/Tests/UnitTests/SessionCSRFTest.php rename to legacy/src/OpenCATS/Tests/UnitTests/SessionCSRFTest.php diff --git a/src/OpenCATS/Tests/UnitTests/StringUtilityTest.php b/legacy/src/OpenCATS/Tests/UnitTests/StringUtilityTest.php similarity index 100% rename from src/OpenCATS/Tests/UnitTests/StringUtilityTest.php rename to legacy/src/OpenCATS/Tests/UnitTests/StringUtilityTest.php diff --git a/src/OpenCATS/Tests/UnitTests/TemplateEscapeTest.php b/legacy/src/OpenCATS/Tests/UnitTests/TemplateEscapeTest.php similarity index 100% rename from src/OpenCATS/Tests/UnitTests/TemplateEscapeTest.php rename to legacy/src/OpenCATS/Tests/UnitTests/TemplateEscapeTest.php diff --git a/src/OpenCATS/Tests/UnitTests/VCardTest.php b/legacy/src/OpenCATS/Tests/UnitTests/VCardTest.php similarity index 100% rename from src/OpenCATS/Tests/UnitTests/VCardTest.php rename to legacy/src/OpenCATS/Tests/UnitTests/VCardTest.php diff --git a/src/OpenCATS/Tests/bootstrap.php b/legacy/src/OpenCATS/Tests/bootstrap.php similarity index 100% rename from src/OpenCATS/Tests/bootstrap.php rename to legacy/src/OpenCATS/Tests/bootstrap.php diff --git a/src/OpenCATS/UI/CandidateDuplicateQuickActionMenu.php b/legacy/src/OpenCATS/UI/CandidateDuplicateQuickActionMenu.php similarity index 100% rename from src/OpenCATS/UI/CandidateDuplicateQuickActionMenu.php rename to legacy/src/OpenCATS/UI/CandidateDuplicateQuickActionMenu.php diff --git a/src/OpenCATS/UI/CandidateQuickActionMenu.php b/legacy/src/OpenCATS/UI/CandidateQuickActionMenu.php similarity index 100% rename from src/OpenCATS/UI/CandidateQuickActionMenu.php rename to legacy/src/OpenCATS/UI/CandidateQuickActionMenu.php diff --git a/src/OpenCATS/UI/QuickActionMenu.php b/legacy/src/OpenCATS/UI/QuickActionMenu.php similarity index 100% rename from src/OpenCATS/UI/QuickActionMenu.php rename to legacy/src/OpenCATS/UI/QuickActionMenu.php diff --git a/legacy/temp/empty b/legacy/temp/empty new file mode 100644 index 000000000..e69de29bb diff --git a/test/behat.yml b/legacy/test/behat.yml similarity index 100% rename from test/behat.yml rename to legacy/test/behat.yml diff --git a/test/config.php b/legacy/test/config.php similarity index 100% rename from test/config.php rename to legacy/test/config.php diff --git a/test/data/securityTests.sql b/legacy/test/data/securityTests.sql similarity index 100% rename from test/data/securityTests.sql rename to legacy/test/data/securityTests.sql diff --git a/test/features/GET_POST_requestsSecurity.feature b/legacy/test/features/GET_POST_requestsSecurity.feature similarity index 100% rename from test/features/GET_POST_requestsSecurity.feature rename to legacy/test/features/GET_POST_requestsSecurity.feature diff --git a/test/features/activities.feature b/legacy/test/features/activities.feature similarity index 100% rename from test/features/activities.feature rename to legacy/test/features/activities.feature diff --git a/test/features/bootstrap/FeatureContext.php b/legacy/test/features/bootstrap/FeatureContext.php similarity index 100% rename from test/features/bootstrap/FeatureContext.php rename to legacy/test/features/bootstrap/FeatureContext.php diff --git a/test/features/bootstrap/SecurityContext.php b/legacy/test/features/bootstrap/SecurityContext.php similarity index 100% rename from test/features/bootstrap/SecurityContext.php rename to legacy/test/features/bootstrap/SecurityContext.php diff --git a/test/features/candidate-filters.feature b/legacy/test/features/candidate-filters.feature similarity index 100% rename from test/features/candidate-filters.feature rename to legacy/test/features/candidate-filters.feature diff --git a/test/features/customize-extra-fields.feature b/legacy/test/features/customize-extra-fields.feature similarity index 100% rename from test/features/customize-extra-fields.feature rename to legacy/test/features/customize-extra-fields.feature diff --git a/test/features/job-orders.feature b/legacy/test/features/job-orders.feature similarity index 100% rename from test/features/job-orders.feature rename to legacy/test/features/job-orders.feature diff --git a/test/features/login.feature b/legacy/test/features/login.feature similarity index 100% rename from test/features/login.feature rename to legacy/test/features/login.feature diff --git a/test/features/moduleMainPagesSecurity.feature b/legacy/test/features/moduleMainPagesSecurity.feature similarity index 100% rename from test/features/moduleMainPagesSecurity.feature rename to legacy/test/features/moduleMainPagesSecurity.feature diff --git a/test/features/moduleSubPagesSecurity.feature b/legacy/test/features/moduleSubPagesSecurity.feature similarity index 100% rename from test/features/moduleSubPagesSecurity.feature rename to legacy/test/features/moduleSubPagesSecurity.feature diff --git a/test/runAllTests.sh b/legacy/test/runAllTests.sh similarity index 100% rename from test/runAllTests.sh rename to legacy/test/runAllTests.sh diff --git a/test/scripts/securityTestData.sh b/legacy/test/scripts/securityTestData.sh similarity index 100% rename from test/scripts/securityTestData.sh rename to legacy/test/scripts/securityTestData.sh diff --git a/test/scripts/waitForDb.php b/legacy/test/scripts/waitForDb.php similarity index 100% rename from test/scripts/waitForDb.php rename to legacy/test/scripts/waitForDb.php diff --git a/upload/.htaccess b/legacy/upload/.htaccess similarity index 100% rename from upload/.htaccess rename to legacy/upload/.htaccess diff --git a/wsdl/parse.wsdl b/legacy/wsdl/parse.wsdl similarity index 100% rename from wsdl/parse.wsdl rename to legacy/wsdl/parse.wsdl diff --git a/wsdl/status.wsdl b/legacy/wsdl/status.wsdl similarity index 100% rename from wsdl/status.wsdl rename to legacy/wsdl/status.wsdl diff --git a/xml/index.php b/legacy/xml/index.php similarity index 100% rename from xml/index.php rename to legacy/xml/index.php From f865e62f67dea2aadda3560c2c65d52c72943b36 Mon Sep 17 00:00:00 2001 From: anonymoususer72041 <247563575+anonymoususer72041@users.noreply.github.com> Date: Wed, 6 May 2026 13:18:38 +0200 Subject: [PATCH 02/12] Initialize Laravel application shell --- .editorconfig | 14 +- .env.example | 65 + .gitattributes | 10 + .gitignore | 27 + .npmrc | 2 + app/Http/Controllers/Controller.php | 8 + app/Models/User.php | 32 + app/Providers/AppServiceProvider.php | 24 + artisan | 18 + bootstrap/app.php | 18 + bootstrap/cache/.gitignore | 2 + bootstrap/providers.php | 7 + composer.json | 86 + composer.lock | 8253 +++++++++++++++++ config/app.php | 126 + config/auth.php | 117 + config/cache.php | 130 + config/database.php | 184 + config/filesystems.php | 80 + config/logging.php | 132 + config/mail.php | 118 + config/queue.php | 129 + config/services.php | 38 + config/session.php | 233 + database/.gitignore | 1 + database/factories/UserFactory.php | 45 + .../0001_01_01_000000_create_users_table.php | 49 + .../0001_01_01_000001_create_cache_table.php | 35 + .../0001_01_01_000002_create_jobs_table.php | 57 + database/seeders/DatabaseSeeder.php | 25 + legacy/lib/Session.php | 0 package.json | 16 + phpunit.xml | 36 + public/.htaccess | 25 + public/favicon.ico | 0 public/index.php | 20 + public/robots.txt | 2 + resources/css/app.css | 11 + resources/js/app.js | 1 + resources/views/welcome.blade.php | 223 + routes/console.php | 8 + routes/web.php | 7 + storage/app/.gitignore | 4 + storage/app/private/.gitignore | 2 + storage/app/public/.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/Feature/ExampleTest.php | 19 + tests/TestCase.php | 10 + tests/Unit/ExampleTest.php | 16 + vite.config.js | 24 + 56 files changed, 10512 insertions(+), 1 deletion(-) create mode 100644 .env.example create mode 100644 .gitignore create mode 100644 .npmrc create mode 100644 app/Http/Controllers/Controller.php create mode 100644 app/Models/User.php create mode 100644 app/Providers/AppServiceProvider.php create mode 100755 artisan create mode 100644 bootstrap/app.php create mode 100644 bootstrap/cache/.gitignore create mode 100644 bootstrap/providers.php 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/cache.php create mode 100644 config/database.php create mode 100644 config/filesystems.php create mode 100644 config/logging.php create mode 100644 config/mail.php create mode 100644 config/queue.php create mode 100644 config/services.php create mode 100644 config/session.php create mode 100644 database/.gitignore create mode 100644 database/factories/UserFactory.php create mode 100644 database/migrations/0001_01_01_000000_create_users_table.php create mode 100644 database/migrations/0001_01_01_000001_create_cache_table.php create mode 100644 database/migrations/0001_01_01_000002_create_jobs_table.php create mode 100644 database/seeders/DatabaseSeeder.php mode change 100755 => 100644 legacy/lib/Session.php create mode 100644 package.json create mode 100644 phpunit.xml create mode 100644 public/.htaccess create mode 100644 public/favicon.ico create mode 100644 public/index.php create mode 100644 public/robots.txt create mode 100644 resources/css/app.css create mode 100644 resources/js/app.js create mode 100644 resources/views/welcome.blade.php create mode 100644 routes/console.php create mode 100644 routes/web.php create mode 100644 storage/app/.gitignore create mode 100644 storage/app/private/.gitignore create mode 100644 storage/app/public/.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/Feature/ExampleTest.php create mode 100644 tests/TestCase.php create mode 100644 tests/Unit/ExampleTest.php create mode 100644 vite.config.js diff --git a/.editorconfig b/.editorconfig index e62b82865..6df84280f 100644 --- a/.editorconfig +++ b/.editorconfig @@ -1,6 +1,18 @@ root = true [*] +charset = utf-8 end_of_line = lf +indent_size = 4 +indent_style = space insert_final_newline = true -charset = utf-8 +trim_trailing_whitespace = true + +[*.md] +trim_trailing_whitespace = false + +[*.{yml,yaml}] +indent_size = 2 + +[{compose,docker-compose}.{yml,yaml}] +indent_size = 4 diff --git a/.env.example b/.env.example new file mode 100644 index 000000000..c0660ea14 --- /dev/null +++ b/.env.example @@ -0,0 +1,65 @@ +APP_NAME=Laravel +APP_ENV=local +APP_KEY= +APP_DEBUG=true +APP_URL=http://localhost + +APP_LOCALE=en +APP_FALLBACK_LOCALE=en +APP_FAKER_LOCALE=en_US + +APP_MAINTENANCE_DRIVER=file +# APP_MAINTENANCE_STORE=database + +# PHP_CLI_SERVER_WORKERS=4 + +BCRYPT_ROUNDS=12 + +LOG_CHANNEL=stack +LOG_STACK=single +LOG_DEPRECATIONS_CHANNEL=null +LOG_LEVEL=debug + +DB_CONNECTION=sqlite +# DB_HOST=127.0.0.1 +# DB_PORT=3306 +# DB_DATABASE=laravel +# DB_USERNAME=root +# DB_PASSWORD= + +SESSION_DRIVER=database +SESSION_LIFETIME=120 +SESSION_ENCRYPT=false +SESSION_PATH=/ +SESSION_DOMAIN=null + +BROADCAST_CONNECTION=log +FILESYSTEM_DISK=local +QUEUE_CONNECTION=database + +CACHE_STORE=database +# CACHE_PREFIX= + +MEMCACHED_HOST=127.0.0.1 + +REDIS_CLIENT=phpredis +REDIS_HOST=127.0.0.1 +REDIS_PASSWORD=null +REDIS_PORT=6379 + +MAIL_MAILER=log +MAIL_SCHEME=null +MAIL_HOST=127.0.0.1 +MAIL_PORT=2525 +MAIL_USERNAME=null +MAIL_PASSWORD=null +MAIL_FROM_ADDRESS="hello@example.com" +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 + +VITE_APP_NAME="${APP_NAME}" diff --git a/.gitattributes b/.gitattributes index 6313b56c5..fcb21d396 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1 +1,11 @@ * text=auto eol=lf + +*.blade.php diff=html +*.css diff=css +*.html diff=html +*.md diff=markdown +*.php diff=php + +/.github export-ignore +CHANGELOG.md export-ignore +.styleci.yml export-ignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..7be55e2e8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,27 @@ +*.log +.DS_Store +.env +.env.backup +.env.production +.phpactor.json +.phpunit.result.cache +/.codex +/.cursor/ +/.idea +/.nova +/.phpunit.cache +/.vscode +/.zed +/auth.json +/node_modules +/public/build +/public/fonts-manifest.dev.json +/public/hot +/public/storage +/storage/*.key +/storage/pail +/vendor +_ide_helper.php +Homestead.json +Homestead.yaml +Thumbs.db diff --git a/.npmrc b/.npmrc new file mode 100644 index 000000000..495a6af99 --- /dev/null +++ b/.npmrc @@ -0,0 +1,2 @@ +ignore-scripts=true +audit=true diff --git a/app/Http/Controllers/Controller.php b/app/Http/Controllers/Controller.php new file mode 100644 index 000000000..8677cd5ca --- /dev/null +++ b/app/Http/Controllers/Controller.php @@ -0,0 +1,8 @@ + */ + use HasFactory, Notifiable; + + /** + * Get the attributes that should be cast. + * + * @return array + */ + protected function casts(): array + { + return [ + 'email_verified_at' => 'datetime', + 'password' => 'hashed', + ]; + } +} diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php new file mode 100644 index 000000000..452e6b65b --- /dev/null +++ b/app/Providers/AppServiceProvider.php @@ -0,0 +1,24 @@ +handleCommand(new ArgvInput); + +exit($status); diff --git a/bootstrap/app.php b/bootstrap/app.php new file mode 100644 index 000000000..c1832766e --- /dev/null +++ b/bootstrap/app.php @@ -0,0 +1,18 @@ +withRouting( + web: __DIR__.'/../routes/web.php', + commands: __DIR__.'/../routes/console.php', + health: '/up', + ) + ->withMiddleware(function (Middleware $middleware): void { + // + }) + ->withExceptions(function (Exceptions $exceptions): void { + // + })->create(); 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/bootstrap/providers.php b/bootstrap/providers.php new file mode 100644 index 000000000..fc94ae601 --- /dev/null +++ b/bootstrap/providers.php @@ -0,0 +1,7 @@ +=5.0.0" + }, + "require-dev": { + "doctrine/dbal": "^4.0.0", + "nesbot/carbon": "^2.71.0 || ^3.0.0", + "phpunit/phpunit": "^10.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Carbon\\Doctrine\\": "src/Carbon/Doctrine/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "KyleKatarn", + "email": "kylekatarnls@gmail.com" + } + ], + "description": "Types to use Carbon in Doctrine", + "keywords": [ + "carbon", + "date", + "datetime", + "doctrine", + "time" + ], + "support": { + "issues": "https://github.com/CarbonPHP/carbon-doctrine-types/issues", + "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/3.2.0" + }, + "funding": [ + { + "url": "https://github.com/kylekatarnls", + "type": "github" + }, + { + "url": "https://opencollective.com/Carbon", + "type": "open_collective" + }, + { + "url": "https://tidelift.com/funding/github/packagist/nesbot/carbon", + "type": "tidelift" + } + ], + "time": "2024-02-09T16:56:22+00:00" + }, + { + "name": "dflydev/dot-access-data", + "version": "v3.0.3", + "source": { + "type": "git", + "url": "https://github.com/dflydev/dflydev-dot-access-data.git", + "reference": "a23a2bf4f31d3518f3ecb38660c95715dfead60f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/a23a2bf4f31d3518f3ecb38660c95715dfead60f", + "reference": "a23a2bf4f31d3518f3ecb38660c95715dfead60f", + "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": "^4.0.0" + }, + "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.3" + }, + "time": "2024-07-08T12:26:09+00:00" + }, + { + "name": "doctrine/inflector", + "version": "2.1.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/inflector.git", + "reference": "6d6c96277ea252fc1304627204c3d5e6e15faa3b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/6d6c96277ea252fc1304627204c3d5e6e15faa3b", + "reference": "6d6c96277ea252fc1304627204c3d5e6e15faa3b", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^12.0 || ^13.0", + "phpstan/phpstan": "^1.12 || ^2.0", + "phpstan/phpstan-phpunit": "^1.4 || ^2.0", + "phpstan/phpstan-strict-rules": "^1.6 || ^2.0", + "phpunit/phpunit": "^8.5 || ^12.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Inflector\\": "src" + } + }, + "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.1.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%2Finflector", + "type": "tidelift" + } + ], + "time": "2025-08-10T19:31:58+00:00" + }, + { + "name": "doctrine/lexer", + "version": "3.0.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/lexer.git", + "reference": "31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd", + "reference": "31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "doctrine/coding-standard": "^12", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^10.5", + "psalm/plugin-phpunit": "^0.18.3", + "vimeo/psalm": "^5.21" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\Lexer\\": "src" + } + }, + "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/3.0.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": "2024-02-05T11:56:58+00:00" + }, + { + "name": "dragonmantank/cron-expression", + "version": "v3.6.0", + "source": { + "type": "git", + "url": "https://github.com/dragonmantank/cron-expression.git", + "reference": "d61a8a9604ec1f8c3d150d09db6ce98b32675013" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/d61a8a9604ec1f8c3d150d09db6ce98b32675013", + "reference": "d61a8a9604ec1f8c3d150d09db6ce98b32675013", + "shasum": "" + }, + "require": { + "php": "^8.2|^8.3|^8.4|^8.5" + }, + "replace": { + "mtdowling/cron-expression": "^1.0" + }, + "require-dev": { + "phpstan/extension-installer": "^1.4.3", + "phpstan/phpstan": "^1.12.32|^2.1.31", + "phpunit/phpunit": "^8.5.48|^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "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.6.0" + }, + "funding": [ + { + "url": "https://github.com/dragonmantank", + "type": "github" + } + ], + "time": "2025-10-31T18:51:33+00:00" + }, + { + "name": "egulias/email-validator", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/egulias/EmailValidator.git", + "reference": "d42c8731f0624ad6bdc8d3e5e9a4524f68801cfa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/d42c8731f0624ad6bdc8d3e5e9a4524f68801cfa", + "reference": "d42c8731f0624ad6bdc8d3e5e9a4524f68801cfa", + "shasum": "" + }, + "require": { + "doctrine/lexer": "^2.0 || ^3.0", + "php": ">=8.1", + "symfony/polyfill-intl-idn": "^1.26" + }, + "require-dev": { + "phpunit/phpunit": "^10.2", + "vimeo/psalm": "^5.12" + }, + "suggest": { + "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0.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/4.0.4" + }, + "funding": [ + { + "url": "https://github.com/egulias", + "type": "github" + } + ], + "time": "2025-03-06T22:45:56+00:00" + }, + { + "name": "fruitcake/php-cors", + "version": "v1.4.0", + "source": { + "type": "git", + "url": "https://github.com/fruitcake/php-cors.git", + "reference": "38aaa6c3fd4c157ffe2a4d10aa8b9b16ba8de379" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/fruitcake/php-cors/zipball/38aaa6c3fd4c157ffe2a4d10aa8b9b16ba8de379", + "reference": "38aaa6c3fd4c157ffe2a4d10aa8b9b16ba8de379", + "shasum": "" + }, + "require": { + "php": "^8.1", + "symfony/http-foundation": "^5.4|^6.4|^7.3|^8" + }, + "require-dev": { + "phpstan/phpstan": "^2", + "phpunit/phpunit": "^9", + "squizlabs/php_codesniffer": "^4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-4": { + "Fruitcake\\Cors\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fruitcake", + "homepage": "https://fruitcake.nl" + }, + { + "name": "Barryvdh", + "email": "barryvdh@gmail.com" + } + ], + "description": "Cross-origin resource sharing library for the Symfony HttpFoundation", + "homepage": "https://github.com/fruitcake/php-cors", + "keywords": [ + "cors", + "laravel", + "symfony" + ], + "support": { + "issues": "https://github.com/fruitcake/php-cors/issues", + "source": "https://github.com/fruitcake/php-cors/tree/v1.4.0" + }, + "funding": [ + { + "url": "https://fruitcake.nl", + "type": "custom" + }, + { + "url": "https://github.com/barryvdh", + "type": "github" + } + ], + "time": "2025-12-03T09:33:47+00:00" + }, + { + "name": "graham-campbell/result-type", + "version": "v1.1.4", + "source": { + "type": "git", + "url": "https://github.com/GrahamCampbell/Result-Type.git", + "reference": "e01f4a821471308ba86aa202fed6698b6b695e3b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/e01f4a821471308ba86aa202fed6698b6b695e3b", + "reference": "e01f4a821471308ba86aa202fed6698b6b695e3b", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0", + "phpoption/phpoption": "^1.9.5" + }, + "require-dev": { + "phpunit/phpunit": "^8.5.41 || ^9.6.22 || ^10.5.45 || ^11.5.7" + }, + "type": "library", + "autoload": { + "psr-4": { + "GrahamCampbell\\ResultType\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + } + ], + "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.1.4" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/graham-campbell/result-type", + "type": "tidelift" + } + ], + "time": "2025-12-27T19:43:20+00:00" + }, + { + "name": "guzzlehttp/guzzle", + "version": "7.10.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/b51ac707cfa420b7bfd4e4d5e510ba8008e822b4", + "reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4", + "shasum": "" + }, + "require": { + "ext-json": "*", + "guzzlehttp/promises": "^2.3", + "guzzlehttp/psr7": "^2.8", + "php": "^7.2.5 || ^8.0", + "psr/http-client": "^1.0", + "symfony/deprecation-contracts": "^2.2 || ^3.0" + }, + "provide": { + "psr/http-client-implementation": "1.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "ext-curl": "*", + "guzzle/client-integration-tests": "3.0.2", + "php-http/message-factory": "^1.1", + "phpunit/phpunit": "^8.5.39 || ^9.6.20", + "psr/log": "^1.1 || ^2.0 || ^3.0" + }, + "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": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + } + }, + "autoload": { + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "GuzzleHttp\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Jeremy Lindblom", + "email": "jeremeamia@gmail.com", + "homepage": "https://github.com/jeremeamia" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://github.com/sagikazarmark" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" + } + ], + "description": "Guzzle is a PHP HTTP client library", + "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.10.0" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle", + "type": "tidelift" + } + ], + "time": "2025-08-23T22:36:01+00:00" + }, + { + "name": "guzzlehttp/promises", + "version": "2.3.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/promises.git", + "reference": "481557b130ef3790cf82b713667b43030dc9c957" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/promises/zipball/481557b130ef3790cf82b713667b43030dc9c957", + "reference": "481557b130ef3790cf82b713667b43030dc9c957", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.44 || ^9.6.25" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Promise\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" + } + ], + "description": "Guzzle promises library", + "keywords": [ + "promise" + ], + "support": { + "issues": "https://github.com/guzzle/promises/issues", + "source": "https://github.com/guzzle/promises/tree/2.3.0" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises", + "type": "tidelift" + } + ], + "time": "2025-08-22T14:34:08+00:00" + }, + { + "name": "guzzlehttp/psr7", + "version": "2.9.0", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "7d0ed42f28e42d61352a7a79de682e5e67fec884" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/7d0ed42f28e42d61352a7a79de682e5e67fec884", + "reference": "7d0ed42f28e42d61352a7a79de682e5e67fec884", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.1 || ^2.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.8.2", + "http-interop/http-factory-tests": "0.9.0", + "jshttp/mime-db": "1.54.0.1", + "phpunit/phpunit": "^8.5.44 || ^9.6.25" + }, + "suggest": { + "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://github.com/sagikazarmark" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "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.9.0" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7", + "type": "tidelift" + } + ], + "time": "2026-03-10T16:41:02+00:00" + }, + { + "name": "guzzlehttp/uri-template", + "version": "v1.0.5", + "source": { + "type": "git", + "url": "https://github.com/guzzle/uri-template.git", + "reference": "4f4bbd4e7172148801e76e3decc1e559bdee34e1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/uri-template/zipball/4f4bbd4e7172148801e76e3decc1e559bdee34e1", + "reference": "4f4bbd4e7172148801e76e3decc1e559bdee34e1", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0", + "symfony/polyfill-php80": "^1.24" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.44 || ^9.6.25", + "uri-template/tests": "1.0.0" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\UriTemplate\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + } + ], + "description": "A polyfill class for uri_template of PHP", + "keywords": [ + "guzzlehttp", + "uri-template" + ], + "support": { + "issues": "https://github.com/guzzle/uri-template/issues", + "source": "https://github.com/guzzle/uri-template/tree/v1.0.5" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/uri-template", + "type": "tidelift" + } + ], + "time": "2025-08-22T14:27:06+00:00" + }, + { + "name": "laravel/framework", + "version": "v13.8.0", + "source": { + "type": "git", + "url": "https://github.com/laravel/framework.git", + "reference": "e7db333a025a1e93ebca7744953069d7719f4bcf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/framework/zipball/e7db333a025a1e93ebca7744953069d7719f4bcf", + "reference": "e7db333a025a1e93ebca7744953069d7719f4bcf", + "shasum": "" + }, + "require": { + "brick/math": "^0.14.2 || ^0.15 || ^0.16 || ^0.17", + "composer-runtime-api": "^2.2", + "doctrine/inflector": "^2.0.5", + "dragonmantank/cron-expression": "^3.4", + "egulias/email-validator": "^4.0", + "ext-ctype": "*", + "ext-filter": "*", + "ext-hash": "*", + "ext-mbstring": "*", + "ext-openssl": "*", + "ext-session": "*", + "ext-tokenizer": "*", + "fruitcake/php-cors": "^1.3", + "guzzlehttp/guzzle": "^7.8.2", + "guzzlehttp/promises": "^2.0.3", + "guzzlehttp/uri-template": "^1.0", + "laravel/prompts": "^0.3.0", + "laravel/serializable-closure": "^2.0.10", + "league/commonmark": "^2.8.1", + "league/flysystem": "^3.25.1", + "league/flysystem-local": "^3.25.1", + "league/uri": "^7.5.1", + "monolog/monolog": "^3.0", + "nesbot/carbon": "^3.8.4", + "nunomaduro/termwind": "^2.0", + "php": "^8.3", + "psr/container": "^1.1.1 || ^2.0.1", + "psr/log": "^1.0 || ^2.0 || ^3.0", + "psr/simple-cache": "^1.0 || ^2.0 || ^3.0", + "ramsey/uuid": "^4.7", + "symfony/console": "^7.4.0 || ^8.0.0", + "symfony/error-handler": "^7.4.0 || ^8.0.0", + "symfony/finder": "^7.4.0 || ^8.0.0", + "symfony/http-foundation": "^7.4.0 || ^8.0.0", + "symfony/http-kernel": "^7.4.0 || ^8.0.0", + "symfony/mailer": "^7.4.0 || ^8.0.0", + "symfony/mime": "^7.4.0 || ^8.0.0", + "symfony/polyfill-php84": "^1.36", + "symfony/polyfill-php85": "^1.36", + "symfony/polyfill-php86": "^1.36", + "symfony/process": "^7.4.5 || ^8.0.5", + "symfony/routing": "^7.4.0 || ^8.0.0", + "symfony/uid": "^7.4.0 || ^8.0.0", + "symfony/var-dumper": "^7.4.0 || ^8.0.0", + "tijsverkoyen/css-to-inline-styles": "^2.2.5", + "vlucas/phpdotenv": "^5.6.1", + "voku/portable-ascii": "^2.0.2" + }, + "conflict": { + "tightenco/collect": "<5.5.33" + }, + "provide": { + "psr/container-implementation": "1.1 || 2.0", + "psr/log-implementation": "1.0 || 2.0 || 3.0", + "psr/simple-cache-implementation": "1.0 || 2.0 || 3.0" + }, + "replace": { + "illuminate/auth": "self.version", + "illuminate/broadcasting": "self.version", + "illuminate/bus": "self.version", + "illuminate/cache": "self.version", + "illuminate/collections": "self.version", + "illuminate/concurrency": "self.version", + "illuminate/conditionable": "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/json-schema": "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/process": "self.version", + "illuminate/queue": "self.version", + "illuminate/redis": "self.version", + "illuminate/reflection": "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", + "spatie/once": "*" + }, + "require-dev": { + "ably/ably-php": "^1.0", + "aws/aws-sdk-php": "^3.322.9", + "ext-gmp": "*", + "fakerphp/faker": "^1.24", + "guzzlehttp/psr7": "^2.4", + "laravel/pint": "^1.18", + "league/flysystem-aws-s3-v3": "^3.25.1", + "league/flysystem-ftp": "^3.25.1", + "league/flysystem-path-prefixing": "^3.25.1", + "league/flysystem-read-only": "^3.25.1", + "league/flysystem-sftp-v3": "^3.25.1", + "mockery/mockery": "^1.6.10", + "opis/json-schema": "^2.4.1", + "orchestra/testbench-core": "^11.0.0", + "pda/pheanstalk": "^7.0.0 || ^8.0.0", + "php-http/discovery": "^1.15", + "phpstan/phpstan": "^2.0", + "phpunit/phpunit": "^11.5.50 || ^12.5.8 || ^13.0.3", + "predis/predis": "^2.3 || ^3.0", + "rector/rector": "^2.3", + "resend/resend-php": "^1.0", + "symfony/cache": "^7.4.0 || ^8.0.0", + "symfony/http-client": "^7.4.0 || ^8.0.0", + "symfony/psr-http-message-bridge": "^7.4.0 || ^8.0.0", + "symfony/translation": "^7.4.0 || ^8.0.0" + }, + "suggest": { + "ably/ably-php": "Required to use the Ably broadcast driver (^1.0).", + "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage, and SES mail driver (^3.322.9).", + "brianium/paratest": "Required to run tests in parallel (^7.0 || ^8.0).", + "ext-apcu": "Required to use the APC cache driver.", + "ext-fileinfo": "Required to use the Filesystem class.", + "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 and console signal trapping.", + "ext-pdo": "Required to use all database features.", + "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 || ^6.0).", + "fakerphp/faker": "Required to generate fake data using the fake() helper (^1.23).", + "filp/whoops": "Required for friendly error pages in development (^2.14.3).", + "laravel/tinker": "Required to use the tinker console command (^2.0).", + "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.25.1).", + "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.25.1).", + "league/flysystem-path-prefixing": "Required to use the scoped driver (^3.25.1).", + "league/flysystem-read-only": "Required to use read-only disks (^3.25.1)", + "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.25.1).", + "mockery/mockery": "Required to use mocking (^1.6).", + "pda/pheanstalk": "Required to use the beanstalk queue driver (^7.0 || ^8.0).", + "php-http/discovery": "Required to use PSR-7 bridging features (^1.15).", + "phpunit/phpunit": "Required to use assertions and run tests (^11.5.50 || ^12.5.8 || ^13.0.3).", + "predis/predis": "Required to use the predis connector (^2.3 || ^3.0).", + "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 (^6.0 || ^7.0).", + "resend/resend-php": "Required to enable support for the Resend mail transport (^0.10.0 || ^1.0).", + "spatie/fork": "Required to use the 'fork' concurrency driver (^1.2).", + "symfony/cache": "Required to PSR-6 cache bridge (^7.4 || ^8.0).", + "symfony/filesystem": "Required to enable support for relative symbolic links (^7.4 || ^8.0).", + "symfony/http-client": "Required to enable support for the Symfony API mail transports (^7.4 || ^8.0).", + "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^7.4 || ^8.0).", + "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^7.4 || ^8.0).", + "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^7.4 || ^8.0)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "13.0.x-dev" + } + }, + "autoload": { + "files": [ + "src/Illuminate/Collections/functions.php", + "src/Illuminate/Collections/helpers.php", + "src/Illuminate/Events/functions.php", + "src/Illuminate/Filesystem/functions.php", + "src/Illuminate/Foundation/helpers.php", + "src/Illuminate/Log/functions.php", + "src/Illuminate/Reflection/helpers.php", + "src/Illuminate/Support/functions.php", + "src/Illuminate/Support/helpers.php" + ], + "psr-4": { + "Illuminate\\": "src/Illuminate/", + "Illuminate\\Support\\": [ + "src/Illuminate/Macroable/", + "src/Illuminate/Collections/", + "src/Illuminate/Conditionable/", + "src/Illuminate/Reflection/" + ] + } + }, + "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": "2026-05-05T21:01:14+00:00" + }, + { + "name": "laravel/prompts", + "version": "v0.3.17", + "source": { + "type": "git", + "url": "https://github.com/laravel/prompts.git", + "reference": "6a82ac19a28b916ae0885828795dbd4c59d9a818" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/prompts/zipball/6a82ac19a28b916ae0885828795dbd4c59d9a818", + "reference": "6a82ac19a28b916ae0885828795dbd4c59d9a818", + "shasum": "" + }, + "require": { + "composer-runtime-api": "^2.2", + "ext-mbstring": "*", + "php": "^8.1", + "symfony/console": "^6.2|^7.0|^8.0" + }, + "conflict": { + "illuminate/console": ">=10.17.0 <10.25.0", + "laravel/framework": ">=10.17.0 <10.25.0" + }, + "require-dev": { + "illuminate/collections": "^10.0|^11.0|^12.0|^13.0", + "mockery/mockery": "^1.5", + "pestphp/pest": "^2.3|^3.4|^4.0", + "phpstan/phpstan": "^1.12.28", + "phpstan/phpstan-mockery": "^1.1.3" + }, + "suggest": { + "ext-pcntl": "Required for the spinner to be animated." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "0.3.x-dev" + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Laravel\\Prompts\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Add beautiful and user-friendly forms to your command-line applications.", + "support": { + "issues": "https://github.com/laravel/prompts/issues", + "source": "https://github.com/laravel/prompts/tree/v0.3.17" + }, + "time": "2026-04-20T16:07:33+00:00" + }, + { + "name": "laravel/serializable-closure", + "version": "v2.0.13", + "source": { + "type": "git", + "url": "https://github.com/laravel/serializable-closure.git", + "reference": "b566ee0dd251f3c4078bed003a7ce015f5ea6dce" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/b566ee0dd251f3c4078bed003a7ce015f5ea6dce", + "reference": "b566ee0dd251f3c4078bed003a7ce015f5ea6dce", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "illuminate/support": "^10.0|^11.0|^12.0|^13.0", + "nesbot/carbon": "^2.67|^3.0", + "pestphp/pest": "^2.36|^3.0|^4.0", + "phpstan/phpstan": "^2.0", + "symfony/var-dumper": "^6.2.0|^7.0.0|^8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Laravel\\SerializableClosure\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + }, + { + "name": "Nuno Maduro", + "email": "nuno@laravel.com" + } + ], + "description": "Laravel Serializable Closure provides an easy and secure way to serialize closures in PHP.", + "keywords": [ + "closure", + "laravel", + "serializable" + ], + "support": { + "issues": "https://github.com/laravel/serializable-closure/issues", + "source": "https://github.com/laravel/serializable-closure" + }, + "time": "2026-04-16T14:03:50+00:00" + }, + { + "name": "laravel/tinker", + "version": "v3.0.2", + "source": { + "type": "git", + "url": "https://github.com/laravel/tinker.git", + "reference": "4faba77764bd33411735936acdf30446d058c78b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/tinker/zipball/4faba77764bd33411735936acdf30446d058c78b", + "reference": "4faba77764bd33411735936acdf30446d058c78b", + "shasum": "" + }, + "require": { + "illuminate/console": "^8.0|^9.0|^10.0|^11.0|^12.0|^13.0", + "illuminate/contracts": "^8.0|^9.0|^10.0|^11.0|^12.0|^13.0", + "illuminate/support": "^8.0|^9.0|^10.0|^11.0|^12.0|^13.0", + "php": "^8.1", + "psy/psysh": "^0.12.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0|^8.0" + }, + "require-dev": { + "mockery/mockery": "~1.3.3|^1.4.2", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^10.5|^11.5" + }, + "suggest": { + "illuminate/database": "The Illuminate Database package (^8.0|^9.0|^10.0|^11.0|^12.0|^13.0)." + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Laravel\\Tinker\\TinkerServiceProvider" + ] + }, + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "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/v3.0.2" + }, + "time": "2026-03-17T14:54:13+00:00" + }, + { + "name": "league/commonmark", + "version": "2.8.2", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/commonmark.git", + "reference": "59fb075d2101740c337c7216e3f32b36c204218b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/59fb075d2101740c337c7216e3f32b36c204218b", + "reference": "59fb075d2101740c337c7216e3f32b36c204218b", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "league/config": "^1.1.1", + "php": "^7.4 || ^8.0", + "psr/event-dispatcher": "^1.0", + "symfony/deprecation-contracts": "^2.1 || ^3.0", + "symfony/polyfill-php80": "^1.16" + }, + "require-dev": { + "cebe/markdown": "^1.0", + "commonmark/cmark": "0.31.1", + "commonmark/commonmark.js": "0.31.1", + "composer/package-versions-deprecated": "^1.8", + "embed/embed": "^4.4", + "erusev/parsedown": "^1.0", + "ext-json": "*", + "github/gfm": "0.29.0", + "michelf/php-markdown": "^1.4 || ^2.0", + "nyholm/psr7": "^1.5", + "phpstan/phpstan": "^1.8.2", + "phpunit/phpunit": "^9.5.21 || ^10.5.9 || ^11.0.0", + "scrutinizer/ocular": "^1.8.1", + "symfony/finder": "^5.3 | ^6.0 | ^7.0 || ^8.0", + "symfony/process": "^5.4 | ^6.0 | ^7.0 || ^8.0", + "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0 | ^7.0 || ^8.0", + "unleashedtech/php-coding-standard": "^3.1.1", + "vimeo/psalm": "^4.24.0 || ^5.0.0 || ^6.0.0" + }, + "suggest": { + "symfony/yaml": "v2.3+ required if using the Front Matter extension" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.9-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://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://tidelift.com/funding/github/packagist/league/commonmark", + "type": "tidelift" + } + ], + "time": "2026-03-19T13:16:38+00:00" + }, + { + "name": "league/config", + "version": "v1.2.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/config.git", + "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/config/zipball/754b3604fb2984c71f4af4a9cbe7b57f346ec1f3", + "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3", + "shasum": "" + }, + "require": { + "dflydev/dot-access-data": "^3.0.1", + "nette/schema": "^1.2", + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.8.2", + "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": "2022-12-11T20:36:23+00:00" + }, + { + "name": "league/flysystem", + "version": "3.33.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/flysystem.git", + "reference": "570b8871e0ce693764434b29154c54b434905350" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/570b8871e0ce693764434b29154c54b434905350", + "reference": "570b8871e0ce693764434b29154c54b434905350", + "shasum": "" + }, + "require": { + "league/flysystem-local": "^3.0.0", + "league/mime-type-detection": "^1.0.0", + "php": "^8.0.2" + }, + "conflict": { + "async-aws/core": "<1.19.0", + "async-aws/s3": "<1.14.0", + "aws/aws-sdk-php": "3.209.31 || 3.210.0", + "guzzlehttp/guzzle": "<7.0", + "guzzlehttp/ringphp": "<1.1.1", + "phpseclib/phpseclib": "3.0.15", + "symfony/http-client": "<5.2" + }, + "require-dev": { + "async-aws/s3": "^1.5 || ^2.0", + "async-aws/simple-s3": "^1.1 || ^2.0", + "aws/aws-sdk-php": "^3.295.10", + "composer/semver": "^3.0", + "ext-fileinfo": "*", + "ext-ftp": "*", + "ext-mongodb": "^1.3|^2", + "ext-zip": "*", + "friendsofphp/php-cs-fixer": "^3.5", + "google/cloud-storage": "^1.23", + "guzzlehttp/psr7": "^2.6", + "microsoft/azure-storage-blob": "^1.1", + "mongodb/mongodb": "^1.2|^2", + "phpseclib/phpseclib": "^3.0.36", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^9.5.11|^10.0", + "sabre/dav": "^4.6.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "League\\Flysystem\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frankdejonge.nl" + } + ], + "description": "File storage abstraction for PHP", + "keywords": [ + "WebDAV", + "aws", + "cloud", + "file", + "files", + "filesystem", + "filesystems", + "ftp", + "s3", + "sftp", + "storage" + ], + "support": { + "issues": "https://github.com/thephpleague/flysystem/issues", + "source": "https://github.com/thephpleague/flysystem/tree/3.33.0" + }, + "time": "2026-03-25T07:59:30+00:00" + }, + { + "name": "league/flysystem-local", + "version": "3.31.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/flysystem-local.git", + "reference": "2f669db18a4c20c755c2bb7d3a7b0b2340488079" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/2f669db18a4c20c755c2bb7d3a7b0b2340488079", + "reference": "2f669db18a4c20c755c2bb7d3a7b0b2340488079", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "league/flysystem": "^3.0.0", + "league/mime-type-detection": "^1.0.0", + "php": "^8.0.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "League\\Flysystem\\Local\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frankdejonge.nl" + } + ], + "description": "Local filesystem adapter for Flysystem.", + "keywords": [ + "Flysystem", + "file", + "files", + "filesystem", + "local" + ], + "support": { + "source": "https://github.com/thephpleague/flysystem-local/tree/3.31.0" + }, + "time": "2026-01-23T15:30:45+00:00" + }, + { + "name": "league/mime-type-detection", + "version": "1.16.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/mime-type-detection.git", + "reference": "2d6702ff215bf922936ccc1ad31007edc76451b9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/2d6702ff215bf922936ccc1ad31007edc76451b9", + "reference": "2d6702ff215bf922936ccc1ad31007edc76451b9", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.2", + "phpstan/phpstan": "^0.12.68", + "phpunit/phpunit": "^8.5.8 || ^9.3 || ^10.0" + }, + "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.16.0" + }, + "funding": [ + { + "url": "https://github.com/frankdejonge", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/league/flysystem", + "type": "tidelift" + } + ], + "time": "2024-09-21T08:32:55+00:00" + }, + { + "name": "league/uri", + "version": "7.8.1", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/uri.git", + "reference": "08cf38e3924d4f56238125547b5720496fac8fd4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/uri/zipball/08cf38e3924d4f56238125547b5720496fac8fd4", + "reference": "08cf38e3924d4f56238125547b5720496fac8fd4", + "shasum": "" + }, + "require": { + "league/uri-interfaces": "^7.8.1", + "php": "^8.1", + "psr/http-factory": "^1" + }, + "conflict": { + "league/uri-schemes": "^1.0" + }, + "suggest": { + "ext-bcmath": "to improve IPV4 host parsing", + "ext-dom": "to convert the URI into an HTML anchor tag", + "ext-fileinfo": "to create Data URI from file contennts", + "ext-gmp": "to improve IPV4 host parsing", + "ext-intl": "to handle IDN host with the best performance", + "ext-uri": "to use the PHP native URI class", + "jeremykendall/php-domain-parser": "to further parse the URI host and resolve its Public Suffix and Top Level Domain", + "league/uri-components": "to provide additional tools to manipulate URI objects components", + "league/uri-polyfill": "to backport the PHP URI extension for older versions of PHP", + "php-64bit": "to improve IPV4 host parsing", + "rowbot/url": "to handle URLs using the WHATWG URL Living Standard specification", + "symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "7.x-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Uri\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ignace Nyamagana Butera", + "email": "nyamsprod@gmail.com", + "homepage": "https://nyamsprod.com" + } + ], + "description": "URI manipulation library", + "homepage": "https://uri.thephpleague.com", + "keywords": [ + "URN", + "data-uri", + "file-uri", + "ftp", + "hostname", + "http", + "https", + "middleware", + "parse_str", + "parse_url", + "psr-7", + "query-string", + "querystring", + "rfc2141", + "rfc3986", + "rfc3987", + "rfc6570", + "rfc8141", + "uri", + "uri-template", + "url", + "ws" + ], + "support": { + "docs": "https://uri.thephpleague.com", + "forum": "https://thephpleague.slack.com", + "issues": "https://github.com/thephpleague/uri-src/issues", + "source": "https://github.com/thephpleague/uri/tree/7.8.1" + }, + "funding": [ + { + "url": "https://github.com/sponsors/nyamsprod", + "type": "github" + } + ], + "time": "2026-03-15T20:22:25+00:00" + }, + { + "name": "league/uri-interfaces", + "version": "7.8.1", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/uri-interfaces.git", + "reference": "85d5c77c5d6d3af6c54db4a78246364908f3c928" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/85d5c77c5d6d3af6c54db4a78246364908f3c928", + "reference": "85d5c77c5d6d3af6c54db4a78246364908f3c928", + "shasum": "" + }, + "require": { + "ext-filter": "*", + "php": "^8.1", + "psr/http-message": "^1.1 || ^2.0" + }, + "suggest": { + "ext-bcmath": "to improve IPV4 host parsing", + "ext-gmp": "to improve IPV4 host parsing", + "ext-intl": "to handle IDN host with the best performance", + "php-64bit": "to improve IPV4 host parsing", + "rowbot/url": "to handle URLs using the WHATWG URL Living Standard specification", + "symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "7.x-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Uri\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ignace Nyamagana Butera", + "email": "nyamsprod@gmail.com", + "homepage": "https://nyamsprod.com" + } + ], + "description": "Common tools for parsing and resolving RFC3987/RFC3986 URI", + "homepage": "https://uri.thephpleague.com", + "keywords": [ + "data-uri", + "file-uri", + "ftp", + "hostname", + "http", + "https", + "parse_str", + "parse_url", + "psr-7", + "query-string", + "querystring", + "rfc3986", + "rfc3987", + "rfc6570", + "uri", + "url", + "ws" + ], + "support": { + "docs": "https://uri.thephpleague.com", + "forum": "https://thephpleague.slack.com", + "issues": "https://github.com/thephpleague/uri-src/issues", + "source": "https://github.com/thephpleague/uri-interfaces/tree/7.8.1" + }, + "funding": [ + { + "url": "https://github.com/sponsors/nyamsprod", + "type": "github" + } + ], + "time": "2026-03-08T20:05:35+00:00" + }, + { + "name": "monolog/monolog", + "version": "3.10.0", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "b321dd6749f0bf7189444158a3ce785cc16d69b0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/b321dd6749f0bf7189444158a3ce785cc16d69b0", + "reference": "b321dd6749f0bf7189444158a3ce785cc16d69b0", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/log": "^2.0 || ^3.0" + }, + "provide": { + "psr/log-implementation": "3.0.0" + }, + "require-dev": { + "aws/aws-sdk-php": "^3.0", + "doctrine/couchdb": "~1.0@dev", + "elasticsearch/elasticsearch": "^7 || ^8", + "ext-json": "*", + "graylog2/gelf-php": "^1.4.2 || ^2.0", + "guzzlehttp/guzzle": "^7.4.5", + "guzzlehttp/psr7": "^2.2", + "mongodb/mongodb": "^1.8 || ^2.0", + "php-amqplib/php-amqplib": "~2.4 || ^3", + "php-console/php-console": "^3.1.8", + "phpstan/phpstan": "^2", + "phpstan/phpstan-deprecation-rules": "^2", + "phpstan/phpstan-strict-rules": "^2", + "phpunit/phpunit": "^10.5.17 || ^11.0.7", + "predis/predis": "^1.1 || ^2", + "rollbar/rollbar": "^4.0", + "ruflin/elastica": "^7 || ^8", + "symfony/mailer": "^5.4 || ^6", + "symfony/mime": "^5.4 || ^6" + }, + "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-curl": "Required to send log messages using the IFTTTHandler, the LogglyHandler, the SendGridHandler, the SlackWebhookHandler or the TelegramBotHandler", + "ext-mbstring": "Allow to work properly with unicode symbols", + "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)", + "ext-openssl": "Required to send log messages using SSL", + "ext-sockets": "Allow sending log messages to a Syslog server (via UDP 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", + "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": "3.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/3.10.0" + }, + "funding": [ + { + "url": "https://github.com/Seldaek", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/monolog/monolog", + "type": "tidelift" + } + ], + "time": "2026-01-02T08:56:05+00:00" + }, + { + "name": "nesbot/carbon", + "version": "3.11.4", + "source": { + "type": "git", + "url": "https://github.com/CarbonPHP/carbon.git", + "reference": "e890471a3494740f7d9326d72ce6a8c559ffee60" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/e890471a3494740f7d9326d72ce6a8c559ffee60", + "reference": "e890471a3494740f7d9326d72ce6a8c559ffee60", + "shasum": "" + }, + "require": { + "carbonphp/carbon-doctrine-types": "<100.0", + "ext-json": "*", + "php": "^8.1", + "psr/clock": "^1.0", + "symfony/clock": "^6.3.12 || ^7.0 || ^8.0", + "symfony/polyfill-mbstring": "^1.0", + "symfony/translation": "^4.4.18 || ^5.2.1 || ^6.0 || ^7.0 || ^8.0" + }, + "provide": { + "psr/clock-implementation": "1.0" + }, + "require-dev": { + "doctrine/dbal": "^3.6.3 || ^4.0", + "doctrine/orm": "^2.15.2 || ^3.0", + "friendsofphp/php-cs-fixer": "^v3.87.1", + "kylekatarnls/multi-tester": "^2.5.3", + "phpmd/phpmd": "^2.15.0", + "phpstan/extension-installer": "^1.4.3", + "phpstan/phpstan": "^2.1.22", + "phpunit/phpunit": "^10.5.53", + "squizlabs/php_codesniffer": "^3.13.4 || ^4.0.0" + }, + "bin": [ + "bin/carbon" + ], + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Carbon\\Laravel\\ServiceProvider" + ] + }, + "phpstan": { + "includes": [ + "extension.neon" + ] + }, + "branch-alias": { + "dev-2.x": "2.x-dev", + "dev-master": "3.x-dev" + } + }, + "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://carbonphp.github.io/carbon/", + "keywords": [ + "date", + "datetime", + "time" + ], + "support": { + "docs": "https://carbonphp.github.io/carbon/guide/getting-started/introduction.html", + "issues": "https://github.com/CarbonPHP/carbon/issues", + "source": "https://github.com/CarbonPHP/carbon" + }, + "funding": [ + { + "url": "https://github.com/sponsors/kylekatarnls", + "type": "github" + }, + { + "url": "https://opencollective.com/Carbon#sponsor", + "type": "opencollective" + }, + { + "url": "https://tidelift.com/subscription/pkg/packagist-nesbot-carbon?utm_source=packagist-nesbot-carbon&utm_medium=referral&utm_campaign=readme", + "type": "tidelift" + } + ], + "time": "2026-04-07T09:57:54+00:00" + }, + { + "name": "nette/schema", + "version": "v1.3.5", + "source": { + "type": "git", + "url": "https://github.com/nette/schema.git", + "reference": "f0ab1a3cda782dbc5da270d28545236aa80c4002" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/schema/zipball/f0ab1a3cda782dbc5da270d28545236aa80c4002", + "reference": "f0ab1a3cda782dbc5da270d28545236aa80c4002", + "shasum": "" + }, + "require": { + "nette/utils": "^4.0", + "php": "8.1 - 8.5" + }, + "require-dev": { + "nette/phpstan-rules": "^1.0", + "nette/tester": "^2.6", + "phpstan/extension-installer": "^1.4@stable", + "phpstan/phpstan": "^2.1.39@stable", + "tracy/tracy": "^2.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.3-dev" + } + }, + "autoload": { + "psr-4": { + "Nette\\": "src" + }, + "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.3.5" + }, + "time": "2026-02-23T03:47:12+00:00" + }, + { + "name": "nette/utils", + "version": "v4.1.3", + "source": { + "type": "git", + "url": "https://github.com/nette/utils.git", + "reference": "bb3ea637e3d131d72acc033cfc2746ee893349fe" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/utils/zipball/bb3ea637e3d131d72acc033cfc2746ee893349fe", + "reference": "bb3ea637e3d131d72acc033cfc2746ee893349fe", + "shasum": "" + }, + "require": { + "php": "8.2 - 8.5" + }, + "conflict": { + "nette/finder": "<3", + "nette/schema": "<1.2.2" + }, + "require-dev": { + "jetbrains/phpstorm-attributes": "^1.2", + "nette/phpstan-rules": "^1.0", + "nette/tester": "^2.5", + "phpstan/extension-installer": "^1.4@stable", + "phpstan/phpstan": "^2.1@stable", + "tracy/tracy": "^2.9" + }, + "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()" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Nette\\": "src" + }, + "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/v4.1.3" + }, + "time": "2026-02-13T03:05:33+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v5.7.0", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/dca41cd15c2ac9d055ad70dbfd011130757d1f82", + "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-json": "*", + "ext-tokenizer": "*", + "php": ">=7.4" + }, + "require-dev": { + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^9.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.x-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/v5.7.0" + }, + "time": "2025-12-06T11:56:16+00:00" + }, + { + "name": "nunomaduro/termwind", + "version": "v2.4.0", + "source": { + "type": "git", + "url": "https://github.com/nunomaduro/termwind.git", + "reference": "712a31b768f5daea284c2169a7d227031001b9a8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/712a31b768f5daea284c2169a7d227031001b9a8", + "reference": "712a31b768f5daea284c2169a7d227031001b9a8", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": "^8.2", + "symfony/console": "^7.4.4 || ^8.0.4" + }, + "require-dev": { + "illuminate/console": "^11.47.0", + "laravel/pint": "^1.27.1", + "mockery/mockery": "^1.6.12", + "pestphp/pest": "^2.36.0 || ^3.8.4 || ^4.3.2", + "phpstan/phpstan": "^1.12.32", + "phpstan/phpstan-strict-rules": "^1.6.2", + "symfony/var-dumper": "^7.3.5 || ^8.0.4", + "thecodingmachine/phpstan-strict-rules": "^1.0.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Termwind\\Laravel\\TermwindServiceProvider" + ] + }, + "branch-alias": { + "dev-2.x": "2.x-dev" + } + }, + "autoload": { + "files": [ + "src/Functions.php" + ], + "psr-4": { + "Termwind\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "It's like Tailwind CSS, but for the console.", + "keywords": [ + "cli", + "console", + "css", + "package", + "php", + "style" + ], + "support": { + "issues": "https://github.com/nunomaduro/termwind/issues", + "source": "https://github.com/nunomaduro/termwind/tree/v2.4.0" + }, + "funding": [ + { + "url": "https://www.paypal.com/paypalme/enunomaduro", + "type": "custom" + }, + { + "url": "https://github.com/nunomaduro", + "type": "github" + }, + { + "url": "https://github.com/xiCO2k", + "type": "github" + } + ], + "time": "2026-02-16T23:10:27+00:00" + }, + { + "name": "phpoption/phpoption", + "version": "1.9.5", + "source": { + "type": "git", + "url": "https://github.com/schmittjoh/php-option.git", + "reference": "75365b91986c2405cf5e1e012c5595cd487a98be" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/75365b91986c2405cf5e1e012c5595cd487a98be", + "reference": "75365b91986c2405cf5e1e012c5595cd487a98be", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.44 || ^9.6.25 || ^10.5.53 || ^11.5.34" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + }, + "branch-alias": { + "dev-master": "1.9-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", + "homepage": "https://github.com/schmittjoh" + }, + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + } + ], + "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.9.5" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption", + "type": "tidelift" + } + ], + "time": "2025-12-27T19:41:33+00:00" + }, + { + "name": "psr/clock", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/clock.git", + "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d", + "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Psr\\Clock\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for reading the clock.", + "homepage": "https://github.com/php-fig/clock", + "keywords": [ + "clock", + "now", + "psr", + "psr-20", + "time" + ], + "support": { + "issues": "https://github.com/php-fig/clock/issues", + "source": "https://github.com/php-fig/clock/tree/1.0.0" + }, + "time": "2022-11-25T14:36:26+00:00" + }, + { + "name": "psr/container", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "shasum": "" + }, + "require": { + "php": ">=7.4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "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/2.0.2" + }, + "time": "2021-11-05T16:47:00+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.3", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-client.git", + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90", + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0", + "psr/http-message": "^1.0 || ^2.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": "https://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" + }, + "time": "2023-09-23T14:17:50+00:00" + }, + { + "name": "psr/http-factory", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-factory.git", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "psr/http-message": "^1.0 || ^2.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": "https://www.php-fig.org/" + } + ], + "description": "PSR-17: 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" + }, + "time": "2024-04-15T12:06:14+00:00" + }, + { + "name": "psr/http-message", + "version": "2.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://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/2.0" + }, + "time": "2023-04-04T09:54:51+00:00" + }, + { + "name": "psr/log", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "src" + } + }, + "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/3.0.2" + }, + "time": "2024-09-11T13:17:53+00:00" + }, + { + "name": "psr/simple-cache", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/simple-cache.git", + "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865", + "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\SimpleCache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://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/3.0.0" + }, + "time": "2021-10-29T13:26:27+00:00" + }, + { + "name": "psy/psysh", + "version": "v0.12.22", + "source": { + "type": "git", + "url": "https://github.com/bobthecow/psysh.git", + "reference": "3be75d5b9244936dd4ac62ade2bfb004d13acf0f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/3be75d5b9244936dd4ac62ade2bfb004d13acf0f", + "reference": "3be75d5b9244936dd4ac62ade2bfb004d13acf0f", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-tokenizer": "*", + "nikic/php-parser": "^5.0 || ^4.0", + "php": "^8.0 || ^7.4", + "symfony/console": "^8.0 || ^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4", + "symfony/var-dumper": "^8.0 || ^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4" + }, + "conflict": { + "symfony/console": "4.4.37 || 5.3.14 || 5.3.15 || 5.4.3 || 5.4.4 || 6.0.3 || 6.0.4" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.2", + "composer/class-map-generator": "^1.6" + }, + "suggest": { + "composer/class-map-generator": "Improved tab completion performance with better class discovery.", + "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", + "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well." + }, + "bin": [ + "bin/psysh" + ], + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": false, + "forward-command": false + }, + "branch-alias": { + "dev-main": "0.12.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" + } + ], + "description": "An interactive shell for modern PHP.", + "homepage": "https://psysh.org", + "keywords": [ + "REPL", + "console", + "interactive", + "shell" + ], + "support": { + "issues": "https://github.com/bobthecow/psysh/issues", + "source": "https://github.com/bobthecow/psysh/tree/v0.12.22" + }, + "time": "2026-03-22T23:03:24+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": "2.1.1", + "source": { + "type": "git", + "url": "https://github.com/ramsey/collection.git", + "reference": "344572933ad0181accbf4ba763e85a0306a8c5e2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/collection/zipball/344572933ad0181accbf4ba763e85a0306a8c5e2", + "reference": "344572933ad0181accbf4ba763e85a0306a8c5e2", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "captainhook/plugin-composer": "^5.3", + "ergebnis/composer-normalize": "^2.45", + "fakerphp/faker": "^1.24", + "hamcrest/hamcrest-php": "^2.0", + "jangregor/phpstan-prophecy": "^2.1", + "mockery/mockery": "^1.6", + "php-parallel-lint/php-console-highlighter": "^1.0", + "php-parallel-lint/php-parallel-lint": "^1.4", + "phpspec/prophecy-phpunit": "^2.3", + "phpstan/extension-installer": "^1.4", + "phpstan/phpstan": "^2.1", + "phpstan/phpstan-mockery": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^10.5", + "ramsey/coding-standard": "^2.3", + "ramsey/conventional-commits": "^1.6", + "roave/security-advisories": "dev-latest" + }, + "type": "library", + "extra": { + "captainhook": { + "force-install": true + }, + "ramsey/conventional-commits": { + "configFile": "conventional-commits.json" + } + }, + "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/2.1.1" + }, + "time": "2025-03-22T05:38:12+00:00" + }, + { + "name": "ramsey/uuid", + "version": "4.9.2", + "source": { + "type": "git", + "url": "https://github.com/ramsey/uuid.git", + "reference": "8429c78ca35a09f27565311b98101e2826affde0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/8429c78ca35a09f27565311b98101e2826affde0", + "reference": "8429c78ca35a09f27565311b98101e2826affde0", + "shasum": "" + }, + "require": { + "brick/math": "^0.8.16 || ^0.9 || ^0.10 || ^0.11 || ^0.12 || ^0.13 || ^0.14", + "php": "^8.0", + "ramsey/collection": "^1.2 || ^2.0" + }, + "replace": { + "rhumsaa/uuid": "self.version" + }, + "require-dev": { + "captainhook/captainhook": "^5.25", + "captainhook/plugin-composer": "^5.3", + "dealerdirect/phpcodesniffer-composer-installer": "^1.0", + "ergebnis/composer-normalize": "^2.47", + "mockery/mockery": "^1.6", + "paragonie/random-lib": "^2", + "php-mock/php-mock": "^2.6", + "php-mock/php-mock-mockery": "^1.5", + "php-parallel-lint/php-parallel-lint": "^1.4.0", + "phpbench/phpbench": "^1.2.14", + "phpstan/extension-installer": "^1.4", + "phpstan/phpstan": "^2.1", + "phpstan/phpstan-mockery": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^9.6", + "slevomat/coding-standard": "^8.18", + "squizlabs/php_codesniffer": "^3.13" + }, + "suggest": { + "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", + "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": { + "captainhook": { + "force-install": true + } + }, + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Ramsey\\Uuid\\": "src/" + } + }, + "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.9.2" + }, + "time": "2025-12-14T04:43:48+00:00" + }, + { + "name": "symfony/clock", + "version": "v8.0.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/clock.git", + "reference": "b55a638b189a6faa875e0ccdb00908fb87af95b3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/clock/zipball/b55a638b189a6faa875e0ccdb00908fb87af95b3", + "reference": "b55a638b189a6faa875e0ccdb00908fb87af95b3", + "shasum": "" + }, + "require": { + "php": ">=8.4", + "psr/clock": "^1.0" + }, + "provide": { + "psr/clock-implementation": "1.0" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/now.php" + ], + "psr-4": { + "Symfony\\Component\\Clock\\": "" + }, + "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": "Decouples applications from the system clock", + "homepage": "https://symfony.com", + "keywords": [ + "clock", + "psr20", + "time" + ], + "support": { + "source": "https://github.com/symfony/clock/tree/v8.0.8" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-03-30T15:14:47+00:00" + }, + { + "name": "symfony/console", + "version": "v8.0.9", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "7113778e2e91f4709cb3194a75dfa9c0d028d94d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/7113778e2e91f4709cb3194a75dfa9c0d028d94d", + "reference": "7113778e2e91f4709cb3194a75dfa9c0d028d94d", + "shasum": "" + }, + "require": { + "php": ">=8.4", + "symfony/polyfill-mbstring": "^1.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/string": "^7.4|^8.0" + }, + "provide": { + "psr/log-implementation": "1.0|2.0|3.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^7.4|^8.0", + "symfony/dependency-injection": "^7.4|^8.0", + "symfony/event-dispatcher": "^7.4|^8.0", + "symfony/http-foundation": "^7.4|^8.0", + "symfony/http-kernel": "^7.4|^8.0", + "symfony/lock": "^7.4|^8.0", + "symfony/messenger": "^7.4|^8.0", + "symfony/process": "^7.4|^8.0", + "symfony/stopwatch": "^7.4|^8.0", + "symfony/var-dumper": "^7.4|^8.0" + }, + "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/v8.0.9" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-04-29T15:02:55+00:00" + }, + { + "name": "symfony/css-selector", + "version": "v8.0.9", + "source": { + "type": "git", + "url": "https://github.com/symfony/css-selector.git", + "reference": "3665cfade90565430909b906394c73c8739e57d0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/3665cfade90565430909b906394c73c8739e57d0", + "reference": "3665cfade90565430909b906394c73c8739e57d0", + "shasum": "" + }, + "require": { + "php": ">=8.4" + }, + "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/v8.0.9" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-04-18T13:51:42+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v3.6.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62", + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" + } + }, + "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/v3.6.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": "2024-09-25T14:21:43+00:00" + }, + { + "name": "symfony/error-handler", + "version": "v8.0.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/error-handler.git", + "reference": "c1119fe8dcfc3825ec74ec061b96ef0c8f281517" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/c1119fe8dcfc3825ec74ec061b96ef0c8f281517", + "reference": "c1119fe8dcfc3825ec74ec061b96ef0c8f281517", + "shasum": "" + }, + "require": { + "php": ">=8.4", + "psr/log": "^1|^2|^3", + "symfony/polyfill-php85": "^1.32", + "symfony/var-dumper": "^7.4|^8.0" + }, + "conflict": { + "symfony/deprecation-contracts": "<2.5" + }, + "require-dev": { + "symfony/console": "^7.4|^8.0", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/http-kernel": "^7.4|^8.0", + "symfony/serializer": "^7.4|^8.0", + "symfony/webpack-encore-bundle": "^1.0|^2.0" + }, + "bin": [ + "Resources/bin/patch-type-declarations" + ], + "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/v8.0.8" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-03-30T15:14:47+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v8.0.9", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "0c3c1a17604c4dbbec4b93fe162c538482096e1f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/0c3c1a17604c4dbbec4b93fe162c538482096e1f", + "reference": "0c3c1a17604c4dbbec4b93fe162c538482096e1f", + "shasum": "" + }, + "require": { + "php": ">=8.4", + "symfony/event-dispatcher-contracts": "^2.5|^3" + }, + "conflict": { + "symfony/security-http": "<7.4", + "symfony/service-contracts": "<2.5" + }, + "provide": { + "psr/event-dispatcher-implementation": "1.0", + "symfony/event-dispatcher-implementation": "2.0|3.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^7.4|^8.0", + "symfony/dependency-injection": "^7.4|^8.0", + "symfony/error-handler": "^7.4|^8.0", + "symfony/expression-language": "^7.4|^8.0", + "symfony/framework-bundle": "^7.4|^8.0", + "symfony/http-foundation": "^7.4|^8.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/stopwatch": "^7.4|^8.0" + }, + "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/v8.0.9" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-04-18T13:51:42+00:00" + }, + { + "name": "symfony/event-dispatcher-contracts", + "version": "v3.6.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher-contracts.git", + "reference": "59eb412e93815df44f05f342958efa9f46b1e586" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/59eb412e93815df44f05f342958efa9f46b1e586", + "reference": "59eb412e93815df44f05f342958efa9f46b1e586", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/event-dispatcher": "^1" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" + } + }, + "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/v3.6.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": "2024-09-25T14:21:43+00:00" + }, + { + "name": "symfony/finder", + "version": "v8.0.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "8da41214757b87d97f181e3d14a4179286151007" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/8da41214757b87d97f181e3d14a4179286151007", + "reference": "8da41214757b87d97f181e3d14a4179286151007", + "shasum": "" + }, + "require": { + "php": ">=8.4" + }, + "require-dev": { + "symfony/filesystem": "^7.4|^8.0" + }, + "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/v8.0.8" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-03-30T15:14:47+00:00" + }, + { + "name": "symfony/http-foundation", + "version": "v8.0.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-foundation.git", + "reference": "02656f7ebeae5c155d659e946f6b3a33df24051b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/02656f7ebeae5c155d659e946f6b3a33df24051b", + "reference": "02656f7ebeae5c155d659e946f6b3a33df24051b", + "shasum": "" + }, + "require": { + "php": ">=8.4", + "symfony/polyfill-mbstring": "^1.1" + }, + "conflict": { + "doctrine/dbal": "<4.3" + }, + "require-dev": { + "doctrine/dbal": "^4.3", + "predis/predis": "^1.1|^2.0", + "symfony/cache": "^7.4|^8.0", + "symfony/clock": "^7.4|^8.0", + "symfony/dependency-injection": "^7.4|^8.0", + "symfony/expression-language": "^7.4|^8.0", + "symfony/http-kernel": "^7.4|^8.0", + "symfony/mime": "^7.4|^8.0", + "symfony/rate-limiter": "^7.4|^8.0" + }, + "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/v8.0.8" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-03-30T15:14:47+00:00" + }, + { + "name": "symfony/http-kernel", + "version": "v8.0.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-kernel.git", + "reference": "1770f6818d83b2fddc12185025b93f39a90cb628" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/1770f6818d83b2fddc12185025b93f39a90cb628", + "reference": "1770f6818d83b2fddc12185025b93f39a90cb628", + "shasum": "" + }, + "require": { + "php": ">=8.4", + "psr/log": "^1|^2|^3", + "symfony/error-handler": "^7.4|^8.0", + "symfony/event-dispatcher": "^7.4|^8.0", + "symfony/http-foundation": "^7.4|^8.0", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "symfony/flex": "<2.10", + "symfony/http-client-contracts": "<2.5", + "symfony/translation-contracts": "<2.5", + "twig/twig": "<3.21" + }, + "provide": { + "psr/log-implementation": "1.0|2.0|3.0" + }, + "require-dev": { + "psr/cache": "^1.0|^2.0|^3.0", + "symfony/browser-kit": "^7.4|^8.0", + "symfony/clock": "^7.4|^8.0", + "symfony/config": "^7.4|^8.0", + "symfony/console": "^7.4|^8.0", + "symfony/css-selector": "^7.4|^8.0", + "symfony/dependency-injection": "^7.4|^8.0", + "symfony/dom-crawler": "^7.4|^8.0", + "symfony/expression-language": "^7.4|^8.0", + "symfony/finder": "^7.4|^8.0", + "symfony/http-client-contracts": "^2.5|^3", + "symfony/process": "^7.4|^8.0", + "symfony/property-access": "^7.4|^8.0", + "symfony/routing": "^7.4|^8.0", + "symfony/serializer": "^7.4|^8.0", + "symfony/stopwatch": "^7.4|^8.0", + "symfony/translation": "^7.4|^8.0", + "symfony/translation-contracts": "^2.5|^3", + "symfony/uid": "^7.4|^8.0", + "symfony/validator": "^7.4|^8.0", + "symfony/var-dumper": "^7.4|^8.0", + "symfony/var-exporter": "^7.4|^8.0", + "twig/twig": "^3.21" + }, + "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/v8.0.8" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-03-31T21:14:05+00:00" + }, + { + "name": "symfony/mailer", + "version": "v8.0.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/mailer.git", + "reference": "ca5f6edaf8780ece814404b58a4482b22b509c56" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/mailer/zipball/ca5f6edaf8780ece814404b58a4482b22b509c56", + "reference": "ca5f6edaf8780ece814404b58a4482b22b509c56", + "shasum": "" + }, + "require": { + "egulias/email-validator": "^2.1.10|^3|^4", + "php": ">=8.4", + "psr/event-dispatcher": "^1", + "psr/log": "^1|^2|^3", + "symfony/event-dispatcher": "^7.4|^8.0", + "symfony/mime": "^7.4|^8.0", + "symfony/service-contracts": "^2.5|^3" + }, + "conflict": { + "symfony/http-client-contracts": "<2.5" + }, + "require-dev": { + "symfony/console": "^7.4|^8.0", + "symfony/http-client": "^7.4|^8.0", + "symfony/messenger": "^7.4|^8.0", + "symfony/twig-bridge": "^7.4|^8.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Mailer\\": "" + }, + "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": "Helps sending emails", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/mailer/tree/v8.0.8" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-03-30T15:14:47+00:00" + }, + { + "name": "symfony/mime", + "version": "v8.0.9", + "source": { + "type": "git", + "url": "https://github.com/symfony/mime.git", + "reference": "a9fcb293650c054b62a5b406f4e92e7b711ea333" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/mime/zipball/a9fcb293650c054b62a5b406f4e92e7b711ea333", + "reference": "a9fcb293650c054b62a5b406f4e92e7b711ea333", + "shasum": "" + }, + "require": { + "php": ">=8.4", + "symfony/polyfill-intl-idn": "^1.10", + "symfony/polyfill-mbstring": "^1.0" + }, + "conflict": { + "egulias/email-validator": "~3.0.0", + "phpdocumentor/reflection-docblock": "<5.2|>=7", + "phpdocumentor/type-resolver": "<1.5.1" + }, + "require-dev": { + "egulias/email-validator": "^2.1.10|^3.1|^4", + "league/html-to-markdown": "^5.0", + "phpdocumentor/reflection-docblock": "^5.2|^6.0", + "symfony/dependency-injection": "^7.4|^8.0", + "symfony/process": "^7.4|^8.0", + "symfony/property-access": "^7.4|^8.0", + "symfony/property-info": "^7.4|^8.0", + "symfony/serializer": "^7.4|^8.0" + }, + "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/v8.0.9" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-04-29T15:02:55+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.37.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "141046a8f9477948ff284fa65be2095baafb94f2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/141046a8f9477948ff284fa65be2095baafb94f2", + "reference": "141046a8f9477948ff284fa65be2095baafb94f2", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "provide": { + "ext-ctype": "*" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + } + }, + "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.37.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-04-10T16:19:22+00:00" + }, + { + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.37.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "4864388bfbd3001ce88e234fab652acd91fdc57e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/4864388bfbd3001ce88e234fab652acd91fdc57e", + "reference": "4864388bfbd3001ce88e234fab652acd91fdc57e", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + } + }, + "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.37.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-04-26T13:13:48+00:00" + }, + { + "name": "symfony/polyfill-intl-idn", + "version": "v1.37.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-idn.git", + "reference": "9614ac4d8061dc257ecc64cba1b140873dce8ad3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/9614ac4d8061dc257ecc64cba1b140873dce8ad3", + "reference": "9614ac4d8061dc257ecc64cba1b140873dce8ad3", + "shasum": "" + }, + "require": { + "php": ">=7.2", + "symfony/polyfill-intl-normalizer": "^1.10" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Idn\\": "" + } + }, + "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.37.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-10T14:38:51+00:00" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.37.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "3833d7255cc303546435cb650316bff708a1c75c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c", + "reference": "3833d7255cc303546435cb650316bff708a1c75c", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "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.37.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-09-09T11:45:10+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.37.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "6a21eb99c6973357967f6ce3708cd55a6bec6315" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6a21eb99c6973357967f6ce3708cd55a6bec6315", + "reference": "6a21eb99c6973357967f6ce3708cd55a6bec6315", + "shasum": "" + }, + "require": { + "ext-iconv": "*", + "php": ">=7.2" + }, + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + } + }, + "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.37.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-04-10T17:25:58+00:00" + }, + { + "name": "symfony/polyfill-php80", + "version": "v1.37.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "dfb55726c3a76ea3b6459fcfda1ec2d80a682411" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/dfb55726c3a76ea3b6459fcfda1ec2d80a682411", + "reference": "dfb55726c3a76ea3b6459fcfda1ec2d80a682411", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "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.37.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-04-10T16:19:22+00:00" + }, + { + "name": "symfony/polyfill-php84", + "version": "v1.37.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php84.git", + "reference": "88486db2c389b290bf87ff1de7ebc1e13e42bb06" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/88486db2c389b290bf87ff1de7ebc1e13e42bb06", + "reference": "88486db2c389b290bf87ff1de7ebc1e13e42bb06", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php84\\": "" + }, + "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.4+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php84/tree/v1.37.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-04-10T18:47:49+00:00" + }, + { + "name": "symfony/polyfill-php85", + "version": "v1.37.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php85.git", + "reference": "fcfa4973a9917cef23f2e38774da74a2b7d115ee" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php85/zipball/fcfa4973a9917cef23f2e38774da74a2b7d115ee", + "reference": "fcfa4973a9917cef23f2e38774da74a2b7d115ee", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php85\\": "" + }, + "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.5+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php85/tree/v1.37.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-04-26T13:10:57+00:00" + }, + { + "name": "symfony/polyfill-php86", + "version": "v1.37.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php86.git", + "reference": "33d8fc5a705481e21fe3a81212b26f9b1f61749c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php86/zipball/33d8fc5a705481e21fe3a81212b26f9b1f61749c", + "reference": "33d8fc5a705481e21fe3a81212b26f9b1f61749c", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php86\\": "" + }, + "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.6+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php86/tree/v1.37.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-04-26T13:13:48+00:00" + }, + { + "name": "symfony/polyfill-uuid", + "version": "v1.37.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-uuid.git", + "reference": "26dfec253c4cf3e51b541b52ddf7e42cb0908e94" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/26dfec253c4cf3e51b541b52ddf7e42cb0908e94", + "reference": "26dfec253c4cf3e51b541b52ddf7e42cb0908e94", + "shasum": "" + }, + "require": { + "php": ">=7.2" + }, + "provide": { + "ext-uuid": "*" + }, + "suggest": { + "ext-uuid": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Uuid\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Grégoire Pineau", + "email": "lyrixx@lyrixx.info" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for uuid functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "uuid" + ], + "support": { + "source": "https://github.com/symfony/polyfill-uuid/tree/v1.37.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-04-10T16:19:22+00:00" + }, + { + "name": "symfony/process", + "version": "v8.0.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "cb8939aff03470d1a9d1d1b66d08c6fa71b3bbdc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/cb8939aff03470d1a9d1d1b66d08c6fa71b3bbdc", + "reference": "cb8939aff03470d1a9d1d1b66d08c6fa71b3bbdc", + "shasum": "" + }, + "require": { + "php": ">=8.4" + }, + "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/v8.0.8" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-03-30T15:14:47+00:00" + }, + { + "name": "symfony/routing", + "version": "v8.0.9", + "source": { + "type": "git", + "url": "https://github.com/symfony/routing.git", + "reference": "75d1bd8e5da3424e4db2fc3ff0222cb4d0c73038" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/routing/zipball/75d1bd8e5da3424e4db2fc3ff0222cb4d0c73038", + "reference": "75d1bd8e5da3424e4db2fc3ff0222cb4d0c73038", + "shasum": "" + }, + "require": { + "php": ">=8.4", + "symfony/deprecation-contracts": "^2.5|^3" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^7.4|^8.0", + "symfony/dependency-injection": "^7.4|^8.0", + "symfony/expression-language": "^7.4|^8.0", + "symfony/http-foundation": "^7.4|^8.0", + "symfony/yaml": "^7.4|^8.0" + }, + "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/v8.0.9" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-04-29T15:02:55+00:00" + }, + { + "name": "symfony/service-contracts", + "version": "v3.6.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/45112560a3ba2d715666a509a0bc9521d10b6c43", + "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/container": "^1.1|^2.0", + "symfony/deprecation-contracts": "^2.5|^3" + }, + "conflict": { + "ext-psr": "<1.1|>=2" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + }, + "exclude-from-classmap": [ + "/Test/" + ] + }, + "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/v3.6.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-07-15T11:30:57+00:00" + }, + { + "name": "symfony/string", + "version": "v8.0.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/string.git", + "reference": "ae9488f874d7603f9d2dfbf120203882b645d963" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/string/zipball/ae9488f874d7603f9d2dfbf120203882b645d963", + "reference": "ae9488f874d7603f9d2dfbf120203882b645d963", + "shasum": "" + }, + "require": { + "php": ">=8.4", + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-intl-grapheme": "^1.33", + "symfony/polyfill-intl-normalizer": "^1.0", + "symfony/polyfill-mbstring": "^1.0" + }, + "conflict": { + "symfony/translation-contracts": "<2.5" + }, + "require-dev": { + "symfony/emoji": "^7.4|^8.0", + "symfony/http-client": "^7.4|^8.0", + "symfony/intl": "^7.4|^8.0", + "symfony/translation-contracts": "^2.5|^3.0", + "symfony/var-exporter": "^7.4|^8.0" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/functions.php" + ], + "psr-4": { + "Symfony\\Component\\String\\": "" + }, + "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/v8.0.8" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-03-30T15:14:47+00:00" + }, + { + "name": "symfony/translation", + "version": "v8.0.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation.git", + "reference": "27c03ae3940de24ba2f71cfdbac824f2aa1fdf2f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation/zipball/27c03ae3940de24ba2f71cfdbac824f2aa1fdf2f", + "reference": "27c03ae3940de24ba2f71cfdbac824f2aa1fdf2f", + "shasum": "" + }, + "require": { + "php": ">=8.4", + "symfony/polyfill-mbstring": "^1.0", + "symfony/translation-contracts": "^3.6.1" + }, + "conflict": { + "nikic/php-parser": "<5.0", + "symfony/http-client-contracts": "<2.5", + "symfony/service-contracts": "<2.5" + }, + "provide": { + "symfony/translation-implementation": "2.3|3.0" + }, + "require-dev": { + "nikic/php-parser": "^5.0", + "psr/log": "^1|^2|^3", + "symfony/config": "^7.4|^8.0", + "symfony/console": "^7.4|^8.0", + "symfony/dependency-injection": "^7.4|^8.0", + "symfony/finder": "^7.4|^8.0", + "symfony/http-client-contracts": "^2.5|^3.0", + "symfony/http-kernel": "^7.4|^8.0", + "symfony/intl": "^7.4|^8.0", + "symfony/polyfill-intl-icu": "^1.21", + "symfony/routing": "^7.4|^8.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/yaml": "^7.4|^8.0" + }, + "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/v8.0.8" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-03-30T15:14:47+00:00" + }, + { + "name": "symfony/translation-contracts", + "version": "v3.6.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation-contracts.git", + "reference": "65a8bc82080447fae78373aa10f8d13b38338977" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/65a8bc82080447fae78373aa10f8d13b38338977", + "reference": "65a8bc82080447fae78373aa10f8d13b38338977", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, + "branch-alias": { + "dev-main": "3.6-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Test/" + ] + }, + "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/v3.6.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2025-07-15T13:41:35+00:00" + }, + { + "name": "symfony/uid", + "version": "v8.0.9", + "source": { + "type": "git", + "url": "https://github.com/symfony/uid.git", + "reference": "4d9d6510bbe88ebb4608b7200d18606cdf80825c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/uid/zipball/4d9d6510bbe88ebb4608b7200d18606cdf80825c", + "reference": "4d9d6510bbe88ebb4608b7200d18606cdf80825c", + "shasum": "" + }, + "require": { + "php": ">=8.4", + "symfony/polyfill-uuid": "^1.15" + }, + "require-dev": { + "symfony/console": "^7.4|^8.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Uid\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Grégoire Pineau", + "email": "lyrixx@lyrixx.info" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an object-oriented API to generate and represent UIDs", + "homepage": "https://symfony.com", + "keywords": [ + "UID", + "ulid", + "uuid" + ], + "support": { + "source": "https://github.com/symfony/uid/tree/v8.0.9" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-04-30T16:10:06+00:00" + }, + { + "name": "symfony/var-dumper", + "version": "v8.0.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-dumper.git", + "reference": "cfb7badd53bf4177f6e9416cfbbccc13c0e773a1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/cfb7badd53bf4177f6e9416cfbbccc13c0e773a1", + "reference": "cfb7badd53bf4177f6e9416cfbbccc13c0e773a1", + "shasum": "" + }, + "require": { + "php": ">=8.4", + "symfony/polyfill-mbstring": "^1.0" + }, + "conflict": { + "symfony/console": "<7.4", + "symfony/error-handler": "<7.4" + }, + "require-dev": { + "symfony/console": "^7.4|^8.0", + "symfony/http-kernel": "^7.4|^8.0", + "symfony/process": "^7.4|^8.0", + "symfony/uid": "^7.4|^8.0", + "twig/twig": "^3.12" + }, + "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/v8.0.8" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-03-31T07:15:36+00:00" + }, + { + "name": "tijsverkoyen/css-to-inline-styles", + "version": "v2.4.0", + "source": { + "type": "git", + "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", + "reference": "f0292ccf0ec75843d65027214426b6b163b48b41" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/f0292ccf0ec75843d65027214426b6b163b48b41", + "reference": "f0292ccf0ec75843d65027214426b6b163b48b41", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "php": "^7.4 || ^8.0", + "symfony/css-selector": "^5.4 || ^6.0 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^2.0", + "phpstan/phpstan-phpunit": "^2.0", + "phpunit/phpunit": "^8.5.21 || ^9.5.10" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "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/v2.4.0" + }, + "time": "2025-12-02T11:56:42+00:00" + }, + { + "name": "vlucas/phpdotenv", + "version": "v5.6.3", + "source": { + "type": "git", + "url": "https://github.com/vlucas/phpdotenv.git", + "reference": "955e7815d677a3eaa7075231212f2110983adecc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/955e7815d677a3eaa7075231212f2110983adecc", + "reference": "955e7815d677a3eaa7075231212f2110983adecc", + "shasum": "" + }, + "require": { + "ext-pcre": "*", + "graham-campbell/result-type": "^1.1.4", + "php": "^7.2.5 || ^8.0", + "phpoption/phpoption": "^1.9.5", + "symfony/polyfill-ctype": "^1.26", + "symfony/polyfill-mbstring": "^1.26", + "symfony/polyfill-php80": "^1.26" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "ext-filter": "*", + "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" + }, + "suggest": { + "ext-filter": "Required to use the boolean validator." + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + }, + "branch-alias": { + "dev-master": "5.6-dev" + } + }, + "autoload": { + "psr-4": { + "Dotenv\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Vance Lucas", + "email": "vance@vancelucas.com", + "homepage": "https://github.com/vlucas" + } + ], + "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.6.3" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/vlucas/phpdotenv", + "type": "tidelift" + } + ], + "time": "2025-12-27T19:49:13+00:00" + }, + { + "name": "voku/portable-ascii", + "version": "2.1.1", + "source": { + "type": "git", + "url": "https://github.com/voku/portable-ascii.git", + "reference": "8e1051fe39379367aecf014f41744ce7539a856f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/8e1051fe39379367aecf014f41744ce7539a856f", + "reference": "8e1051fe39379367aecf014f41744ce7539a856f", + "shasum": "" + }, + "require": { + "php": ">=7.1.0" + }, + "require-dev": { + "phpunit/phpunit": "~8.5 || ~9.6 || ~10.5 || ~11.5" + }, + "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": "https://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/2.1.1" + }, + "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": "2026-04-26T05:33:54+00:00" + } + ], + "packages-dev": [ + { + "name": "fakerphp/faker", + "version": "v1.24.1", + "source": { + "type": "git", + "url": "https://github.com/FakerPHP/Faker.git", + "reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5", + "reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0", + "psr/container": "^1.0 || ^2.0", + "symfony/deprecation-contracts": "^2.2 || ^3.0" + }, + "conflict": { + "fzaninotto/faker": "*" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.4.1", + "doctrine/persistence": "^1.3 || ^2.0", + "ext-intl": "*", + "phpunit/phpunit": "^9.5.26", + "symfony/phpunit-bridge": "^5.4.16" + }, + "suggest": { + "doctrine/orm": "Required to use Faker\\ORM\\Doctrine", + "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", + "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.24.1" + }, + "time": "2024-11-21T13:46:39+00:00" + }, + { + "name": "filp/whoops", + "version": "2.18.4", + "source": { + "type": "git", + "url": "https://github.com/filp/whoops.git", + "reference": "d2102955e48b9fd9ab24280a7ad12ed552752c4d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/filp/whoops/zipball/d2102955e48b9fd9ab24280a7ad12ed552752c4d", + "reference": "d2102955e48b9fd9ab24280a7ad12ed552752c4d", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0", + "psr/log": "^1.0.1 || ^2.0 || ^3.0" + }, + "require-dev": { + "mockery/mockery": "^1.0", + "phpunit/phpunit": "^7.5.20 || ^8.5.8 || ^9.3.3", + "symfony/var-dumper": "^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.18.4" + }, + "funding": [ + { + "url": "https://github.com/denis-sokolov", + "type": "github" + } + ], + "time": "2025-08-08T12:00:00+00:00" + }, + { + "name": "hamcrest/hamcrest-php", + "version": "v2.1.1", + "source": { + "type": "git", + "url": "https://github.com/hamcrest/hamcrest-php.git", + "reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487", + "reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487", + "shasum": "" + }, + "require": { + "php": "^7.4|^8.0" + }, + "replace": { + "cordoval/hamcrest-php": "*", + "davedevelopment/hamcrest-php": "*", + "kodova/hamcrest-php": "*" + }, + "require-dev": { + "phpunit/php-file-iterator": "^1.4 || ^2.0 || ^3.0", + "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0 || ^8.0 || ^9.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.1.1" + }, + "time": "2025-04-30T06:54:44+00:00" + }, + { + "name": "laravel/agent-detector", + "version": "v2.0.2", + "source": { + "type": "git", + "url": "https://github.com/laravel/agent-detector.git", + "reference": "90694b9256099591cf9e55d08c18ba7a00bf099f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/agent-detector/zipball/90694b9256099591cf9e55d08c18ba7a00bf099f", + "reference": "90694b9256099591cf9e55d08c18ba7a00bf099f", + "shasum": "" + }, + "require": { + "php": "^8.2.0" + }, + "require-dev": { + "laravel/pint": "^1.24.0", + "pestphp/pest": "^3.8.5|^4.1.0", + "pestphp/pest-plugin-type-coverage": "^3.0|^4.0.2", + "phpstan/phpstan": "^2.1.26", + "rector/rector": "^2.1.7", + "symfony/var-dumper": "^7.3.3" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Laravel\\AgentDetector\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Detect if code is running in an AI agent or automated development environment", + "homepage": "https://github.com/laravel/agent-detector", + "keywords": [ + "Agent", + "ai", + "automation", + "claude", + "cursor", + "detection", + "devin", + "php" + ], + "support": { + "issues": "https://github.com/laravel/agent-detector/issues", + "source": "https://github.com/laravel/agent-detector" + }, + "time": "2026-04-29T18:32:34+00:00" + }, + { + "name": "laravel/pail", + "version": "v1.2.6", + "source": { + "type": "git", + "url": "https://github.com/laravel/pail.git", + "reference": "aa71a01c309e7f66bc2ec4fb1a59291b82eb4abf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/pail/zipball/aa71a01c309e7f66bc2ec4fb1a59291b82eb4abf", + "reference": "aa71a01c309e7f66bc2ec4fb1a59291b82eb4abf", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "illuminate/console": "^10.24|^11.0|^12.0|^13.0", + "illuminate/contracts": "^10.24|^11.0|^12.0|^13.0", + "illuminate/log": "^10.24|^11.0|^12.0|^13.0", + "illuminate/process": "^10.24|^11.0|^12.0|^13.0", + "illuminate/support": "^10.24|^11.0|^12.0|^13.0", + "nunomaduro/termwind": "^1.15|^2.0", + "php": "^8.2", + "symfony/console": "^6.0|^7.0|^8.0" + }, + "require-dev": { + "laravel/framework": "^10.24|^11.0|^12.0|^13.0", + "laravel/pint": "^1.13", + "orchestra/testbench-core": "^8.13|^9.17|^10.8|^11.0", + "pestphp/pest": "^2.20|^3.0|^4.0", + "pestphp/pest-plugin-type-coverage": "^2.3|^3.0|^4.0", + "phpstan/phpstan": "^1.12.27", + "symfony/var-dumper": "^6.3|^7.0|^8.0", + "symfony/yaml": "^6.3|^7.0|^8.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Laravel\\Pail\\PailServiceProvider" + ] + }, + "branch-alias": { + "dev-main": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Laravel\\Pail\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + }, + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "Easily delve into your Laravel application's log files directly from the command line.", + "homepage": "https://github.com/laravel/pail", + "keywords": [ + "dev", + "laravel", + "logs", + "php", + "tail" + ], + "support": { + "issues": "https://github.com/laravel/pail/issues", + "source": "https://github.com/laravel/pail" + }, + "time": "2026-02-09T13:44:54+00:00" + }, + { + "name": "laravel/pao", + "version": "v1.0.6", + "source": { + "type": "git", + "url": "https://github.com/laravel/pao.git", + "reference": "02f62a64c2b60af44a418ee490fee193590d8269" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/pao/zipball/02f62a64c2b60af44a418ee490fee193590d8269", + "reference": "02f62a64c2b60af44a418ee490fee193590d8269", + "shasum": "" + }, + "require": { + "laravel/agent-detector": "^2.0.0", + "php": "^8.3" + }, + "conflict": { + "laravel/framework": "<12.0.0", + "nunomaduro/collision": "<8.9.3", + "pestphp/pest": "<4.6.3 || >=6.0.0", + "phpunit/phpunit": "<12.5.23 || >=13.0.0 <13.1.7 || >=14.0.0" + }, + "require-dev": { + "brianium/paratest": "^7.20.0", + "laravel/pint": "^1.29.1", + "orchestra/testbench": "^10.11.0 || ^11.1.0", + "pestphp/pest": "^4.6.3 || ^5.0.0", + "pestphp/pest-plugin-type-coverage": "^4.0.4 || ^5.0.0", + "phpstan/phpstan": "^2.1.51", + "rector/rector": "^2.4.2", + "symfony/process": "^7.4.8 || ^8.1.0", + "symfony/var-dumper": "^7.4.8 || ^8.0.8" + }, + "type": "library", + "extra": { + "pest": { + "plugins": [ + "Laravel\\Pao\\Drivers\\Pest\\Plugin" + ] + }, + "laravel": { + "providers": [ + "Laravel\\Pao\\Laravel\\ServiceProvider" + ] + } + }, + "autoload": { + "files": [ + "src/Autoload.php" + ], + "psr-4": { + "Laravel\\Pao\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Agent-optimized output for PHP testing tools", + "keywords": [ + "Agent", + "PHPStan", + "ai", + "dev", + "paratest", + "pest", + "php", + "phpunit", + "testing" + ], + "support": { + "issues": "https://github.com/laravel/pao/issues", + "source": "https://github.com/laravel/pao" + }, + "time": "2026-04-27T22:37:26+00:00" + }, + { + "name": "laravel/pint", + "version": "v1.29.1", + "source": { + "type": "git", + "url": "https://github.com/laravel/pint.git", + "reference": "0770e9b7fafd50d4586881d456d6eb41c9247a80" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/pint/zipball/0770e9b7fafd50d4586881d456d6eb41c9247a80", + "reference": "0770e9b7fafd50d4586881d456d6eb41c9247a80", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-mbstring": "*", + "ext-tokenizer": "*", + "ext-xml": "*", + "php": "^8.2.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.95.1", + "illuminate/view": "^12.56.0", + "larastan/larastan": "^3.9.6", + "laravel-zero/framework": "^12.1.0", + "mockery/mockery": "^1.6.12", + "nunomaduro/termwind": "^2.4.0", + "pestphp/pest": "^3.8.6", + "shipfastlabs/agent-detector": "^1.1.3" + }, + "bin": [ + "builds/pint" + ], + "type": "project", + "autoload": { + "psr-4": { + "App\\": "app/", + "Database\\Seeders\\": "database/seeders/", + "Database\\Factories\\": "database/factories/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "An opinionated code formatter for PHP.", + "homepage": "https://laravel.com", + "keywords": [ + "dev", + "format", + "formatter", + "lint", + "linter", + "php" + ], + "support": { + "issues": "https://github.com/laravel/pint/issues", + "source": "https://github.com/laravel/pint" + }, + "time": "2026-04-20T15:26:14+00:00" + }, + { + "name": "mockery/mockery", + "version": "1.6.12", + "source": { + "type": "git", + "url": "https://github.com/mockery/mockery.git", + "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mockery/mockery/zipball/1f4efdd7d3beafe9807b08156dfcb176d18f1699", + "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699", + "shasum": "" + }, + "require": { + "hamcrest/hamcrest-php": "^2.0.1", + "lib-pcre": ">=7.0", + "php": ">=7.3" + }, + "conflict": { + "phpunit/phpunit": "<8.0" + }, + "require-dev": { + "phpunit/phpunit": "^8.5 || ^9.6.17", + "symplify/easy-coding-standard": "^12.1.14" + }, + "type": "library", + "autoload": { + "files": [ + "library/helpers.php", + "library/Mockery.php" + ], + "psr-4": { + "Mockery\\": "library/Mockery" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Pádraic Brady", + "email": "padraic.brady@gmail.com", + "homepage": "https://github.com/padraic", + "role": "Author" + }, + { + "name": "Dave Marshall", + "email": "dave.marshall@atstsolutions.co.uk", + "homepage": "https://davedevelopment.co.uk", + "role": "Developer" + }, + { + "name": "Nathanael Esayeas", + "email": "nathanael.esayeas@protonmail.com", + "homepage": "https://github.com/ghostwriter", + "role": "Lead Developer" + } + ], + "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": { + "docs": "https://docs.mockery.io/", + "issues": "https://github.com/mockery/mockery/issues", + "rss": "https://github.com/mockery/mockery/releases.atom", + "security": "https://github.com/mockery/mockery/security/advisories", + "source": "https://github.com/mockery/mockery" + }, + "time": "2024-05-16T03:13:13+00:00" + }, + { + "name": "myclabs/deep-copy", + "version": "1.13.4", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/07d290f0c47959fd5eed98c95ee5602db07e0b6a", + "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "conflict": { + "doctrine/collections": "<1.6.8", + "doctrine/common": "<2.13.3 || >=3 <3.2.2" + }, + "require-dev": { + "doctrine/collections": "^1.6.8", + "doctrine/common": "^2.13.3 || ^3.2.2", + "phpspec/prophecy": "^1.10", + "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" + }, + "type": "library", + "autoload": { + "files": [ + "src/DeepCopy/deep_copy.php" + ], + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + } + }, + "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.13.4" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", + "type": "tidelift" + } + ], + "time": "2025-08-01T08:46:24+00:00" + }, + { + "name": "nunomaduro/collision", + "version": "v8.9.4", + "source": { + "type": "git", + "url": "https://github.com/nunomaduro/collision.git", + "reference": "716af8f95a470e9094cfca09ed897b023be191a5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/716af8f95a470e9094cfca09ed897b023be191a5", + "reference": "716af8f95a470e9094cfca09ed897b023be191a5", + "shasum": "" + }, + "require": { + "filp/whoops": "^2.18.4", + "nunomaduro/termwind": "^2.4.0", + "php": "^8.2.0", + "symfony/console": "^7.4.8 || ^8.0.8" + }, + "conflict": { + "laravel/framework": "<11.48.0 || >=14.0.0", + "phpunit/phpunit": "<11.5.50 || >=14.0.0" + }, + "require-dev": { + "brianium/paratest": "^7.8.5", + "larastan/larastan": "^3.9.6", + "laravel/framework": "^11.48.0 || ^12.56.0 || ^13.5.0", + "laravel/pint": "^1.29.1", + "orchestra/testbench-core": "^9.12.0 || ^10.12.1 || ^11.2.1", + "pestphp/pest": "^3.8.5 || ^4.4.3 || ^5.0.0", + "sebastian/environment": "^7.2.1 || ^8.0.4 || ^9.3.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider" + ] + }, + "branch-alias": { + "dev-8.x": "8.x-dev" + } + }, + "autoload": { + "files": [ + "./src/Adapters/Phpunit/Autoload.php" + ], + "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", + "dev", + "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/paypalme/enunomaduro", + "type": "custom" + }, + { + "url": "https://github.com/nunomaduro", + "type": "github" + }, + { + "url": "https://www.patreon.com/nunomaduro", + "type": "patreon" + } + ], + "time": "2026-04-21T14:04:20+00:00" + }, + { + "name": "phar-io/manifest", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/phar-io/manifest.git", + "reference": "54750ef60c58e43759730615a392c31c80e23176" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176", + "reference": "54750ef60c58e43759730615a392c31c80e23176", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "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.4" + }, + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2024-03-03T12:33:53+00:00" + }, + { + "name": "phar-io/version", + "version": "3.2.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/version.git", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "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.2.1" + }, + "time": "2022-02-21T01:04:05+00:00" + }, + { + "name": "phpunit/php-code-coverage", + "version": "12.5.6", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "876099a072646c7745f673d7aeab5382c4439691" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/876099a072646c7745f673d7aeab5382c4439691", + "reference": "876099a072646c7745f673d7aeab5382c4439691", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "ext-xmlwriter": "*", + "nikic/php-parser": "^5.7.0", + "php": ">=8.3", + "phpunit/php-text-template": "^5.0", + "sebastian/complexity": "^5.0", + "sebastian/environment": "^8.0.3", + "sebastian/lines-of-code": "^4.0", + "sebastian/version": "^6.0", + "theseer/tokenizer": "^2.0.1" + }, + "require-dev": { + "phpunit/phpunit": "^12.5.1" + }, + "suggest": { + "ext-pcov": "PHP extension that provides line coverage", + "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "12.5.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 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", + "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/12.5.6" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/php-code-coverage", + "type": "tidelift" + } + ], + "time": "2026-04-15T08:23:17+00:00" + }, + { + "name": "phpunit/php-file-iterator", + "version": "6.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "3d1cd096ef6bea4bf2762ba586e35dbd317cbfd5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3d1cd096ef6bea4bf2762ba586e35dbd317cbfd5", + "reference": "3d1cd096ef6bea4bf2762ba586e35dbd317cbfd5", + "shasum": "" + }, + "require": { + "php": ">=8.3" + }, + "require-dev": { + "phpunit/phpunit": "^12.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "6.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", + "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/6.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/php-file-iterator", + "type": "tidelift" + } + ], + "time": "2026-02-02T14:04:18+00:00" + }, + { + "name": "phpunit/php-invoker", + "version": "6.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-invoker.git", + "reference": "12b54e689b07a25a9b41e57736dfab6ec9ae5406" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/12b54e689b07a25a9b41e57736dfab6ec9ae5406", + "reference": "12b54e689b07a25a9b41e57736dfab6ec9ae5406", + "shasum": "" + }, + "require": { + "php": ">=8.3" + }, + "require-dev": { + "ext-pcntl": "*", + "phpunit/phpunit": "^12.0" + }, + "suggest": { + "ext-pcntl": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "6.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": "Invoke callables with a timeout", + "homepage": "https://github.com/sebastianbergmann/php-invoker/", + "keywords": [ + "process" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-invoker/issues", + "security": "https://github.com/sebastianbergmann/php-invoker/security/policy", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/6.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2025-02-07T04:58:58+00:00" + }, + { + "name": "phpunit/php-text-template", + "version": "5.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "e1367a453f0eda562eedb4f659e13aa900d66c53" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/e1367a453f0eda562eedb4f659e13aa900d66c53", + "reference": "e1367a453f0eda562eedb4f659e13aa900d66c53", + "shasum": "" + }, + "require": { + "php": ">=8.3" + }, + "require-dev": { + "phpunit/phpunit": "^12.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "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": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "keywords": [ + "template" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-text-template/issues", + "security": "https://github.com/sebastianbergmann/php-text-template/security/policy", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/5.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2025-02-07T04:59:16+00:00" + }, + { + "name": "phpunit/php-timer", + "version": "8.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "f258ce36aa457f3aa3339f9ed4c81fc66dc8c2cc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/f258ce36aa457f3aa3339f9ed4c81fc66dc8c2cc", + "reference": "f258ce36aa457f3aa3339f9ed4c81fc66dc8c2cc", + "shasum": "" + }, + "require": { + "php": ">=8.3" + }, + "require-dev": { + "phpunit/phpunit": "^12.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "8.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", + "security": "https://github.com/sebastianbergmann/php-timer/security/policy", + "source": "https://github.com/sebastianbergmann/php-timer/tree/8.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2025-02-07T04:59:38+00:00" + }, + { + "name": "phpunit/phpunit", + "version": "12.5.24", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "d75dd30597caa80e72fad2ef7904601a30ef1046" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/d75dd30597caa80e72fad2ef7904601a30ef1046", + "reference": "d75dd30597caa80e72fad2ef7904601a30ef1046", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "ext-xmlwriter": "*", + "myclabs/deep-copy": "^1.13.4", + "phar-io/manifest": "^2.0.4", + "phar-io/version": "^3.2.1", + "php": ">=8.3", + "phpunit/php-code-coverage": "^12.5.6", + "phpunit/php-file-iterator": "^6.0.1", + "phpunit/php-invoker": "^6.0.0", + "phpunit/php-text-template": "^5.0.0", + "phpunit/php-timer": "^8.0.0", + "sebastian/cli-parser": "^4.2.0", + "sebastian/comparator": "^7.1.6", + "sebastian/diff": "^7.0.0", + "sebastian/environment": "^8.1.0", + "sebastian/exporter": "^7.0.2", + "sebastian/global-state": "^8.0.2", + "sebastian/object-enumerator": "^7.0.0", + "sebastian/recursion-context": "^7.0.1", + "sebastian/type": "^6.0.3", + "sebastian/version": "^6.0.0", + "staabm/side-effects-detector": "^1.0.5" + }, + "bin": [ + "phpunit" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "12.5-dev" + } + }, + "autoload": { + "files": [ + "src/Framework/Assert/Functions.php" + ], + "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" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/phpunit/issues", + "security": "https://github.com/sebastianbergmann/phpunit/security/policy", + "source": "https://github.com/sebastianbergmann/phpunit/tree/12.5.24" + }, + "funding": [ + { + "url": "https://phpunit.de/sponsoring.html", + "type": "other" + } + ], + "time": "2026-05-01T04:21:04+00:00" + }, + { + "name": "sebastian/cli-parser", + "version": "4.2.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/cli-parser.git", + "reference": "90f41072d220e5c40df6e8635f5dafba2d9d4d04" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/90f41072d220e5c40df6e8635f5dafba2d9d4d04", + "reference": "90f41072d220e5c40df6e8635f5dafba2d9d4d04", + "shasum": "" + }, + "require": { + "php": ">=8.3" + }, + "require-dev": { + "phpunit/phpunit": "^12.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "4.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 for parsing CLI options", + "homepage": "https://github.com/sebastianbergmann/cli-parser", + "support": { + "issues": "https://github.com/sebastianbergmann/cli-parser/issues", + "security": "https://github.com/sebastianbergmann/cli-parser/security/policy", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/4.2.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/cli-parser", + "type": "tidelift" + } + ], + "time": "2025-09-14T09:36:45+00:00" + }, + { + "name": "sebastian/comparator", + "version": "7.1.6", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "c769009dee98f494e0edc3fd4f4087501688f11e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/c769009dee98f494e0edc3fd4f4087501688f11e", + "reference": "c769009dee98f494e0edc3fd4f4087501688f11e", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-mbstring": "*", + "php": ">=8.3", + "sebastian/diff": "^7.0", + "sebastian/exporter": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^12.2" + }, + "suggest": { + "ext-bcmath": "For comparing BcMath\\Number objects" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "7.1-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", + "security": "https://github.com/sebastianbergmann/comparator/security/policy", + "source": "https://github.com/sebastianbergmann/comparator/tree/7.1.6" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/comparator", + "type": "tidelift" + } + ], + "time": "2026-04-14T08:23:15+00:00" + }, + { + "name": "sebastian/complexity", + "version": "5.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/complexity.git", + "reference": "bad4316aba5303d0221f43f8cee37eb58d384bbb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/bad4316aba5303d0221f43f8cee37eb58d384bbb", + "reference": "bad4316aba5303d0221f43f8cee37eb58d384bbb", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^5.0", + "php": ">=8.3" + }, + "require-dev": { + "phpunit/phpunit": "^12.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "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": "Library for calculating the complexity of PHP code units", + "homepage": "https://github.com/sebastianbergmann/complexity", + "support": { + "issues": "https://github.com/sebastianbergmann/complexity/issues", + "security": "https://github.com/sebastianbergmann/complexity/security/policy", + "source": "https://github.com/sebastianbergmann/complexity/tree/5.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2025-02-07T04:55:25+00:00" + }, + { + "name": "sebastian/diff", + "version": "7.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "7ab1ea946c012266ca32390913653d844ecd085f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7ab1ea946c012266ca32390913653d844ecd085f", + "reference": "7ab1ea946c012266ca32390913653d844ecd085f", + "shasum": "" + }, + "require": { + "php": ">=8.3" + }, + "require-dev": { + "phpunit/phpunit": "^12.0", + "symfony/process": "^7.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "7.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", + "security": "https://github.com/sebastianbergmann/diff/security/policy", + "source": "https://github.com/sebastianbergmann/diff/tree/7.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2025-02-07T04:55:46+00:00" + }, + { + "name": "sebastian/environment", + "version": "8.1.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "b121608b28a13f721e76ffbbd386d08eff58f3f6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/b121608b28a13f721e76ffbbd386d08eff58f3f6", + "reference": "b121608b28a13f721e76ffbbd386d08eff58f3f6", + "shasum": "" + }, + "require": { + "php": ">=8.3" + }, + "require-dev": { + "phpunit/phpunit": "^12.0" + }, + "suggest": { + "ext-posix": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "8.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": "https://github.com/sebastianbergmann/environment", + "keywords": [ + "Xdebug", + "environment", + "hhvm" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/environment/issues", + "security": "https://github.com/sebastianbergmann/environment/security/policy", + "source": "https://github.com/sebastianbergmann/environment/tree/8.1.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/environment", + "type": "tidelift" + } + ], + "time": "2026-04-15T12:13:01+00:00" + }, + { + "name": "sebastian/exporter", + "version": "7.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "016951ae10980765e4e7aee491eb288c64e505b7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/016951ae10980765e4e7aee491eb288c64e505b7", + "reference": "016951ae10980765e4e7aee491eb288c64e505b7", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": ">=8.3", + "sebastian/recursion-context": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^12.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "7.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": "https://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/exporter/issues", + "security": "https://github.com/sebastianbergmann/exporter/security/policy", + "source": "https://github.com/sebastianbergmann/exporter/tree/7.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/exporter", + "type": "tidelift" + } + ], + "time": "2025-09-24T06:16:11+00:00" + }, + { + "name": "sebastian/global-state", + "version": "8.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "ef1377171613d09edd25b7816f05be8313f9115d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/ef1377171613d09edd25b7816f05be8313f9115d", + "reference": "ef1377171613d09edd25b7816f05be8313f9115d", + "shasum": "" + }, + "require": { + "php": ">=8.3", + "sebastian/object-reflector": "^5.0", + "sebastian/recursion-context": "^7.0" + }, + "require-dev": { + "ext-dom": "*", + "phpunit/phpunit": "^12.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "8.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": "https://www.github.com/sebastianbergmann/global-state", + "keywords": [ + "global state" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/global-state/issues", + "security": "https://github.com/sebastianbergmann/global-state/security/policy", + "source": "https://github.com/sebastianbergmann/global-state/tree/8.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/global-state", + "type": "tidelift" + } + ], + "time": "2025-08-29T11:29:25+00:00" + }, + { + "name": "sebastian/lines-of-code", + "version": "4.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/lines-of-code.git", + "reference": "97ffee3bcfb5805568d6af7f0f893678fc076d2f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/97ffee3bcfb5805568d6af7f0f893678fc076d2f", + "reference": "97ffee3bcfb5805568d6af7f0f893678fc076d2f", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^5.0", + "php": ">=8.3" + }, + "require-dev": { + "phpunit/phpunit": "^12.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "4.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", + "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy", + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/4.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2025-02-07T04:57:28+00:00" + }, + { + "name": "sebastian/object-enumerator", + "version": "7.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "1effe8e9b8e068e9ae228e542d5d11b5d16db894" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/1effe8e9b8e068e9ae228e542d5d11b5d16db894", + "reference": "1effe8e9b8e068e9ae228e542d5d11b5d16db894", + "shasum": "" + }, + "require": { + "php": ">=8.3", + "sebastian/object-reflector": "^5.0", + "sebastian/recursion-context": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^12.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "7.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", + "security": "https://github.com/sebastianbergmann/object-enumerator/security/policy", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/7.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2025-02-07T04:57:48+00:00" + }, + { + "name": "sebastian/object-reflector", + "version": "5.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "4bfa827c969c98be1e527abd576533293c634f6a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/4bfa827c969c98be1e527abd576533293c634f6a", + "reference": "4bfa827c969c98be1e527abd576533293c634f6a", + "shasum": "" + }, + "require": { + "php": ">=8.3" + }, + "require-dev": { + "phpunit/phpunit": "^12.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "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": "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", + "security": "https://github.com/sebastianbergmann/object-reflector/security/policy", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/5.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2025-02-07T04:58:17+00:00" + }, + { + "name": "sebastian/recursion-context", + "version": "7.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "0b01998a7d5b1f122911a66bebcb8d46f0c82d8c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/0b01998a7d5b1f122911a66bebcb8d46f0c82d8c", + "reference": "0b01998a7d5b1f122911a66bebcb8d46f0c82d8c", + "shasum": "" + }, + "require": { + "php": ">=8.3" + }, + "require-dev": { + "phpunit/phpunit": "^12.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "7.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": "https://github.com/sebastianbergmann/recursion-context", + "support": { + "issues": "https://github.com/sebastianbergmann/recursion-context/issues", + "security": "https://github.com/sebastianbergmann/recursion-context/security/policy", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/7.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/recursion-context", + "type": "tidelift" + } + ], + "time": "2025-08-13T04:44:59+00:00" + }, + { + "name": "sebastian/type", + "version": "6.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/type.git", + "reference": "e549163b9760b8f71f191651d22acf32d56d6d4d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/e549163b9760b8f71f191651d22acf32d56d6d4d", + "reference": "e549163b9760b8f71f191651d22acf32d56d6d4d", + "shasum": "" + }, + "require": { + "php": ">=8.3" + }, + "require-dev": { + "phpunit/phpunit": "^12.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "6.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 types of the PHP type system", + "homepage": "https://github.com/sebastianbergmann/type", + "support": { + "issues": "https://github.com/sebastianbergmann/type/issues", + "security": "https://github.com/sebastianbergmann/type/security/policy", + "source": "https://github.com/sebastianbergmann/type/tree/6.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/type", + "type": "tidelift" + } + ], + "time": "2025-08-09T06:57:12+00:00" + }, + { + "name": "sebastian/version", + "version": "6.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "3e6ccf7657d4f0a59200564b08cead899313b53c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/3e6ccf7657d4f0a59200564b08cead899313b53c", + "reference": "3e6ccf7657d4f0a59200564b08cead899313b53c", + "shasum": "" + }, + "require": { + "php": ">=8.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "6.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", + "security": "https://github.com/sebastianbergmann/version/security/policy", + "source": "https://github.com/sebastianbergmann/version/tree/6.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2025-02-07T05:00:38+00:00" + }, + { + "name": "staabm/side-effects-detector", + "version": "1.0.5", + "source": { + "type": "git", + "url": "https://github.com/staabm/side-effects-detector.git", + "reference": "d8334211a140ce329c13726d4a715adbddd0a163" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/staabm/side-effects-detector/zipball/d8334211a140ce329c13726d4a715adbddd0a163", + "reference": "d8334211a140ce329c13726d4a715adbddd0a163", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "phpstan/extension-installer": "^1.4.3", + "phpstan/phpstan": "^1.12.6", + "phpunit/phpunit": "^9.6.21", + "symfony/var-dumper": "^5.4.43", + "tomasvotruba/type-coverage": "1.0.0", + "tomasvotruba/unused-public": "1.0.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "lib/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A static analysis tool to detect side effects in PHP code", + "keywords": [ + "static analysis" + ], + "support": { + "issues": "https://github.com/staabm/side-effects-detector/issues", + "source": "https://github.com/staabm/side-effects-detector/tree/1.0.5" + }, + "funding": [ + { + "url": "https://github.com/staabm", + "type": "github" + } + ], + "time": "2024-10-20T05:08:20+00:00" + }, + { + "name": "theseer/tokenizer", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/theseer/tokenizer.git", + "reference": "7989e43bf381af0eac72e4f0ca5bcbfa81658be4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/7989e43bf381af0eac72e4f0ca5bcbfa81658be4", + "reference": "7989e43bf381af0eac72e4f0ca5bcbfa81658be4", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": "^8.1" + }, + "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/2.0.1" + }, + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2025-12-08T11:19:18+00:00" + } + ], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": {}, + "prefer-stable": true, + "prefer-lowest": false, + "platform": { + "php": "^8.3" + }, + "platform-dev": {}, + "plugin-api-version": "2.9.0" +} diff --git a/config/app.php b/config/app.php new file mode 100644 index 000000000..423eed59f --- /dev/null +++ b/config/app.php @@ -0,0 +1,126 @@ + 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 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 + | the application so that it's available within Artisan commands. + | + */ + + '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. The timezone + | is set to "UTC" by default as it is suitable for most use cases. + | + */ + + 'timezone' => 'UTC', + + /* + |-------------------------------------------------------------------------- + | Application Locale Configuration + |-------------------------------------------------------------------------- + | + | The application locale determines the default locale that will be used + | by Laravel's translation / localization methods. This option can be + | set to any locale for which you plan to have translation strings. + | + */ + + 'locale' => env('APP_LOCALE', 'en'), + + 'fallback_locale' => env('APP_FALLBACK_LOCALE', 'en'), + + 'faker_locale' => env('APP_FAKER_LOCALE', 'en_US'), + + /* + |-------------------------------------------------------------------------- + | Encryption Key + |-------------------------------------------------------------------------- + | + | This key is utilized by Laravel's encryption services and should be set + | to a random, 32 character string to ensure that all encrypted values + | are secure. You should do this prior to deploying the application. + | + */ + + 'cipher' => 'AES-256-CBC', + + 'key' => env('APP_KEY'), + + 'previous_keys' => [ + ...array_filter( + explode(',', (string) env('APP_PREVIOUS_KEYS', '')) + ), + ], + + /* + |-------------------------------------------------------------------------- + | Maintenance Mode Driver + |-------------------------------------------------------------------------- + | + | These configuration options determine the driver used to determine and + | manage Laravel's "maintenance mode" status. The "cache" driver will + | allow maintenance mode to be controlled across multiple machines. + | + | Supported drivers: "file", "cache" + | + */ + + 'maintenance' => [ + 'driver' => env('APP_MAINTENANCE_DRIVER', 'file'), + 'store' => env('APP_MAINTENANCE_STORE', 'database'), + ], + +]; diff --git a/config/auth.php b/config/auth.php new file mode 100644 index 000000000..d7568ff19 --- /dev/null +++ b/config/auth.php @@ -0,0 +1,117 @@ + [ + 'guard' => env('AUTH_GUARD', 'web'), + 'passwords' => env('AUTH_PASSWORD_BROKER', 'users'), + ], + + /* + |-------------------------------------------------------------------------- + | Authentication Guards + |-------------------------------------------------------------------------- + | + | Next, you may define every authentication guard for your application. + | Of course, a great default configuration has been defined for you + | which utilizes session storage plus the Eloquent user provider. + | + | All authentication guards have a user provider, which defines how the + | users are actually retrieved out of your database or other storage + | system used by the application. Typically, Eloquent is utilized. + | + | Supported: "session" + | + */ + + 'guards' => [ + 'web' => [ + 'driver' => 'session', + 'provider' => 'users', + ], + ], + + /* + |-------------------------------------------------------------------------- + | User Providers + |-------------------------------------------------------------------------- + | + | All authentication guards have a user provider, which defines how the + | users are actually retrieved out of your database or other storage + | system used by the application. Typically, Eloquent is utilized. + | + | If you have multiple user tables or models you may configure multiple + | providers to represent the model / table. These providers may then + | be assigned to any extra authentication guards you have defined. + | + | Supported: "database", "eloquent" + | + */ + + 'providers' => [ + 'users' => [ + 'driver' => 'eloquent', + 'model' => env('AUTH_MODEL', User::class), + ], + + // 'users' => [ + // 'driver' => 'database', + // 'table' => 'users', + // ], + ], + + /* + |-------------------------------------------------------------------------- + | Resetting Passwords + |-------------------------------------------------------------------------- + | + | These configuration options specify the behavior of Laravel's password + | reset functionality, including the table utilized for token storage + | and the user provider that is invoked to actually retrieve users. + | + | The expiry time is the number of minutes that each reset token will be + | considered valid. This security feature keeps tokens short-lived so + | they have less time to be guessed. You may change this as needed. + | + | The throttle setting is the number of seconds a user must wait before + | generating more password reset tokens. This prevents the user from + | quickly generating a very large amount of password reset tokens. + | + */ + + 'passwords' => [ + 'users' => [ + 'provider' => 'users', + 'table' => env('AUTH_PASSWORD_RESET_TOKEN_TABLE', 'password_reset_tokens'), + 'expire' => 60, + 'throttle' => 60, + ], + ], + + /* + |-------------------------------------------------------------------------- + | Password Confirmation Timeout + |-------------------------------------------------------------------------- + | + | Here you may define the number of seconds before a password confirmation + | window expires and users are asked to re-enter their password via the + | confirmation screen. By default, the timeout lasts for three hours. + | + */ + + 'password_timeout' => env('AUTH_PASSWORD_TIMEOUT', 10800), + +]; diff --git a/config/cache.php b/config/cache.php new file mode 100644 index 000000000..c68acdfc0 --- /dev/null +++ b/config/cache.php @@ -0,0 +1,130 @@ + env('CACHE_STORE', 'database'), + + /* + |-------------------------------------------------------------------------- + | 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: "array", "database", "file", "memcached", + | "redis", "dynamodb", "octane", + | "failover", "null" + | + */ + + 'stores' => [ + + 'array' => [ + 'driver' => 'array', + 'serialize' => false, + ], + + 'database' => [ + 'driver' => 'database', + 'connection' => env('DB_CACHE_CONNECTION'), + 'table' => env('DB_CACHE_TABLE', 'cache'), + 'lock_connection' => env('DB_CACHE_LOCK_CONNECTION'), + 'lock_table' => env('DB_CACHE_LOCK_TABLE'), + ], + + 'file' => [ + 'driver' => 'file', + 'path' => storage_path('framework/cache/data'), + 'lock_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' => env('REDIS_CACHE_CONNECTION', 'cache'), + 'lock_connection' => env('REDIS_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', + ], + + 'failover' => [ + 'driver' => 'failover', + 'stores' => [ + 'database', + 'array', + ], + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Cache Key Prefix + |-------------------------------------------------------------------------- + | + | When utilizing the APC, database, memcached, Redis, and DynamoDB cache + | stores, there might be other applications using the same cache. For + | that reason, you may prefix every cache key to avoid collisions. + | + */ + + 'prefix' => env('CACHE_PREFIX', Str::slug((string) env('APP_NAME', 'laravel')).'-cache-'), + + /* + |-------------------------------------------------------------------------- + | Serializable Classes + |-------------------------------------------------------------------------- + | + | This value determines the classes that can be unserialized from cache + | storage. By default, no PHP classes will be unserialized from your + | cache to prevent gadget chain attacks if your APP_KEY is leaked. + | + */ + + 'serializable_classes' => false, + +]; diff --git a/config/database.php b/config/database.php new file mode 100644 index 000000000..64709ce5a --- /dev/null +++ b/config/database.php @@ -0,0 +1,184 @@ + env('DB_CONNECTION', 'sqlite'), + + /* + |-------------------------------------------------------------------------- + | Database Connections + |-------------------------------------------------------------------------- + | + | Below are all of the database connections defined for your application. + | An example configuration is provided for each database system which + | is supported by Laravel. You're free to add / remove connections. + | + */ + + 'connections' => [ + + 'sqlite' => [ + 'driver' => 'sqlite', + 'url' => env('DB_URL'), + 'database' => env('DB_DATABASE', database_path('database.sqlite')), + 'prefix' => '', + 'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true), + 'busy_timeout' => null, + 'journal_mode' => null, + 'synchronous' => null, + 'transaction_mode' => 'DEFERRED', + ], + + 'mysql' => [ + 'driver' => 'mysql', + 'url' => env('DB_URL'), + 'host' => env('DB_HOST', '127.0.0.1'), + 'port' => env('DB_PORT', '3306'), + 'database' => env('DB_DATABASE', 'laravel'), + 'username' => env('DB_USERNAME', 'root'), + 'password' => env('DB_PASSWORD', ''), + 'unix_socket' => env('DB_SOCKET', ''), + 'charset' => env('DB_CHARSET', 'utf8mb4'), + 'collation' => env('DB_COLLATION', 'utf8mb4_unicode_ci'), + 'prefix' => '', + 'prefix_indexes' => true, + 'strict' => true, + 'engine' => null, + 'options' => extension_loaded('pdo_mysql') ? array_filter([ + (PHP_VERSION_ID >= 80500 ? Mysql::ATTR_SSL_CA : PDO::MYSQL_ATTR_SSL_CA) => env('MYSQL_ATTR_SSL_CA'), + ]) : [], + ], + + 'mariadb' => [ + 'driver' => 'mariadb', + 'url' => env('DB_URL'), + 'host' => env('DB_HOST', '127.0.0.1'), + 'port' => env('DB_PORT', '3306'), + 'database' => env('DB_DATABASE', 'laravel'), + 'username' => env('DB_USERNAME', 'root'), + 'password' => env('DB_PASSWORD', ''), + 'unix_socket' => env('DB_SOCKET', ''), + 'charset' => env('DB_CHARSET', 'utf8mb4'), + 'collation' => env('DB_COLLATION', 'utf8mb4_unicode_ci'), + 'prefix' => '', + 'prefix_indexes' => true, + 'strict' => true, + 'engine' => null, + 'options' => extension_loaded('pdo_mysql') ? array_filter([ + (PHP_VERSION_ID >= 80500 ? Mysql::ATTR_SSL_CA : PDO::MYSQL_ATTR_SSL_CA) => env('MYSQL_ATTR_SSL_CA'), + ]) : [], + ], + + 'pgsql' => [ + 'driver' => 'pgsql', + 'url' => env('DB_URL'), + 'host' => env('DB_HOST', '127.0.0.1'), + 'port' => env('DB_PORT', '5432'), + 'database' => env('DB_DATABASE', 'laravel'), + 'username' => env('DB_USERNAME', 'root'), + 'password' => env('DB_PASSWORD', ''), + 'charset' => env('DB_CHARSET', 'utf8'), + 'prefix' => '', + 'prefix_indexes' => true, + 'search_path' => 'public', + 'sslmode' => env('DB_SSLMODE', 'prefer'), + ], + + 'sqlsrv' => [ + 'driver' => 'sqlsrv', + 'url' => env('DB_URL'), + 'host' => env('DB_HOST', 'localhost'), + 'port' => env('DB_PORT', '1433'), + 'database' => env('DB_DATABASE', 'laravel'), + 'username' => env('DB_USERNAME', 'root'), + 'password' => env('DB_PASSWORD', ''), + 'charset' => env('DB_CHARSET', 'utf8'), + 'prefix' => '', + 'prefix_indexes' => true, + // 'encrypt' => env('DB_ENCRYPT', 'yes'), + // 'trust_server_certificate' => env('DB_TRUST_SERVER_CERTIFICATE', 'false'), + ], + + ], + + /* + |-------------------------------------------------------------------------- + | 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 on the database. + | + */ + + 'migrations' => [ + 'table' => 'migrations', + 'update_date_on_publish' => true, + ], + + /* + |-------------------------------------------------------------------------- + | 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 Memcached. You may define your connection settings here. + | + */ + + 'redis' => [ + + 'client' => env('REDIS_CLIENT', 'phpredis'), + + 'options' => [ + 'cluster' => env('REDIS_CLUSTER', 'redis'), + 'prefix' => env('REDIS_PREFIX', Str::slug((string) env('APP_NAME', 'laravel')).'-database-'), + 'persistent' => env('REDIS_PERSISTENT', false), + ], + + 'default' => [ + 'url' => env('REDIS_URL'), + 'host' => env('REDIS_HOST', '127.0.0.1'), + 'username' => env('REDIS_USERNAME'), + 'password' => env('REDIS_PASSWORD'), + 'port' => env('REDIS_PORT', '6379'), + 'database' => env('REDIS_DB', '0'), + 'max_retries' => env('REDIS_MAX_RETRIES', 3), + 'backoff_algorithm' => env('REDIS_BACKOFF_ALGORITHM', 'decorrelated_jitter'), + 'backoff_base' => env('REDIS_BACKOFF_BASE', 100), + 'backoff_cap' => env('REDIS_BACKOFF_CAP', 1000), + ], + + 'cache' => [ + 'url' => env('REDIS_URL'), + 'host' => env('REDIS_HOST', '127.0.0.1'), + 'username' => env('REDIS_USERNAME'), + 'password' => env('REDIS_PASSWORD'), + 'port' => env('REDIS_PORT', '6379'), + 'database' => env('REDIS_CACHE_DB', '1'), + 'max_retries' => env('REDIS_MAX_RETRIES', 3), + 'backoff_algorithm' => env('REDIS_BACKOFF_ALGORITHM', 'decorrelated_jitter'), + 'backoff_base' => env('REDIS_BACKOFF_BASE', 100), + 'backoff_cap' => env('REDIS_BACKOFF_CAP', 1000), + ], + + ], + +]; diff --git a/config/filesystems.php b/config/filesystems.php new file mode 100644 index 000000000..37d8fca4f --- /dev/null +++ b/config/filesystems.php @@ -0,0 +1,80 @@ + env('FILESYSTEM_DISK', 'local'), + + /* + |-------------------------------------------------------------------------- + | Filesystem Disks + |-------------------------------------------------------------------------- + | + | Below you may configure as many filesystem disks as necessary, and you + | may even configure multiple disks for the same driver. Examples for + | most supported storage drivers are configured here for reference. + | + | Supported drivers: "local", "ftp", "sftp", "s3" + | + */ + + 'disks' => [ + + 'local' => [ + 'driver' => 'local', + 'root' => storage_path('app/private'), + 'serve' => true, + 'throw' => false, + 'report' => false, + ], + + 'public' => [ + 'driver' => 'local', + 'root' => storage_path('app/public'), + 'url' => rtrim(env('APP_URL', 'http://localhost'), '/').'/storage', + 'visibility' => 'public', + 'throw' => false, + 'report' => false, + ], + + '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), + 'throw' => false, + 'report' => 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/logging.php b/config/logging.php new file mode 100644 index 000000000..b09cb25d9 --- /dev/null +++ b/config/logging.php @@ -0,0 +1,132 @@ + env('LOG_CHANNEL', 'stack'), + + /* + |-------------------------------------------------------------------------- + | Deprecations Log Channel + |-------------------------------------------------------------------------- + | + | This option controls the log channel that should be used to log warnings + | regarding deprecated PHP and library features. This allows you to get + | your application ready for upcoming major versions of dependencies. + | + */ + + 'deprecations' => [ + 'channel' => env('LOG_DEPRECATIONS_CHANNEL', 'null'), + 'trace' => env('LOG_DEPRECATIONS_TRACE', false), + ], + + /* + |-------------------------------------------------------------------------- + | Log Channels + |-------------------------------------------------------------------------- + | + | Here you may configure the log channels for your application. Laravel + | utilizes the Monolog PHP logging library, which includes a variety + | of powerful log handlers and formatters that you're free to use. + | + | Available drivers: "single", "daily", "slack", "syslog", + | "errorlog", "monolog", "custom", "stack" + | + */ + + 'channels' => [ + + 'stack' => [ + 'driver' => 'stack', + 'channels' => explode(',', (string) env('LOG_STACK', 'single')), + 'ignore_exceptions' => false, + ], + + 'single' => [ + 'driver' => 'single', + 'path' => storage_path('logs/laravel.log'), + 'level' => env('LOG_LEVEL', 'debug'), + 'replace_placeholders' => true, + ], + + 'daily' => [ + 'driver' => 'daily', + 'path' => storage_path('logs/laravel.log'), + 'level' => env('LOG_LEVEL', 'debug'), + 'days' => env('LOG_DAILY_DAYS', 14), + 'replace_placeholders' => true, + ], + + 'slack' => [ + 'driver' => 'slack', + 'url' => env('LOG_SLACK_WEBHOOK_URL'), + 'username' => env('LOG_SLACK_USERNAME', env('APP_NAME', 'Laravel')), + 'emoji' => env('LOG_SLACK_EMOJI', ':boom:'), + 'level' => env('LOG_LEVEL', 'critical'), + 'replace_placeholders' => true, + ], + + 'papertrail' => [ + 'driver' => 'monolog', + 'level' => env('LOG_LEVEL', 'debug'), + 'handler' => env('LOG_PAPERTRAIL_HANDLER', SyslogUdpHandler::class), + 'handler_with' => [ + 'host' => env('PAPERTRAIL_URL'), + 'port' => env('PAPERTRAIL_PORT'), + 'connectionString' => 'tls://'.env('PAPERTRAIL_URL').':'.env('PAPERTRAIL_PORT'), + ], + 'processors' => [PsrLogMessageProcessor::class], + ], + + 'stderr' => [ + 'driver' => 'monolog', + 'level' => env('LOG_LEVEL', 'debug'), + 'handler' => StreamHandler::class, + 'handler_with' => [ + 'stream' => 'php://stderr', + ], + 'formatter' => env('LOG_STDERR_FORMATTER'), + 'processors' => [PsrLogMessageProcessor::class], + ], + + 'syslog' => [ + 'driver' => 'syslog', + 'level' => env('LOG_LEVEL', 'debug'), + 'facility' => env('LOG_SYSLOG_FACILITY', LOG_USER), + 'replace_placeholders' => true, + ], + + 'errorlog' => [ + 'driver' => 'errorlog', + 'level' => env('LOG_LEVEL', 'debug'), + 'replace_placeholders' => true, + ], + + '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..e32e88da2 --- /dev/null +++ b/config/mail.php @@ -0,0 +1,118 @@ + env('MAIL_MAILER', 'log'), + + /* + |-------------------------------------------------------------------------- + | 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 that can be used + | when delivering an email. You may specify which one you're using for + | your mailers below. You may also add additional mailers if needed. + | + | Supported: "smtp", "sendmail", "mailgun", "ses", "ses-v2", + | "postmark", "resend", "log", "array", + | "failover", "roundrobin" + | + */ + + 'mailers' => [ + + 'smtp' => [ + 'transport' => 'smtp', + 'scheme' => env('MAIL_SCHEME'), + 'url' => env('MAIL_URL'), + 'host' => env('MAIL_HOST', '127.0.0.1'), + 'port' => env('MAIL_PORT', 2525), + 'username' => env('MAIL_USERNAME'), + 'password' => env('MAIL_PASSWORD'), + 'timeout' => null, + 'local_domain' => env('MAIL_EHLO_DOMAIN', parse_url((string) env('APP_URL', 'http://localhost'), PHP_URL_HOST)), + ], + + 'ses' => [ + 'transport' => 'ses', + ], + + 'postmark' => [ + 'transport' => 'postmark', + // 'message_stream_id' => env('POSTMARK_MESSAGE_STREAM_ID'), + // 'client' => [ + // 'timeout' => 5, + // ], + ], + + 'resend' => [ + 'transport' => 'resend', + ], + + 'sendmail' => [ + 'transport' => 'sendmail', + 'path' => env('MAIL_SENDMAIL_PATH', '/usr/sbin/sendmail -bs -i'), + ], + + 'log' => [ + 'transport' => 'log', + 'channel' => env('MAIL_LOG_CHANNEL'), + ], + + 'array' => [ + 'transport' => 'array', + ], + + 'failover' => [ + 'transport' => 'failover', + 'mailers' => [ + 'smtp', + 'log', + ], + 'retry_after' => 60, + ], + + 'roundrobin' => [ + 'transport' => 'roundrobin', + 'mailers' => [ + 'ses', + 'postmark', + ], + 'retry_after' => 60, + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Global "From" Address + |-------------------------------------------------------------------------- + | + | You may wish for all emails 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 emails that are sent by your application. + | + */ + + 'from' => [ + 'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'), + 'name' => env('MAIL_FROM_NAME', env('APP_NAME', 'Laravel')), + ], + +]; diff --git a/config/queue.php b/config/queue.php new file mode 100644 index 000000000..79c2c0a23 --- /dev/null +++ b/config/queue.php @@ -0,0 +1,129 @@ + env('QUEUE_CONNECTION', 'database'), + + /* + |-------------------------------------------------------------------------- + | Queue Connections + |-------------------------------------------------------------------------- + | + | Here you may configure the connection options for every queue backend + | used by your application. An example configuration is provided for + | each backend supported by Laravel. You're also free to add more. + | + | Drivers: "sync", "database", "beanstalkd", "sqs", "redis", + | "deferred", "background", "failover", "null" + | + */ + + 'connections' => [ + + 'sync' => [ + 'driver' => 'sync', + ], + + 'database' => [ + 'driver' => 'database', + 'connection' => env('DB_QUEUE_CONNECTION'), + 'table' => env('DB_QUEUE_TABLE', 'jobs'), + 'queue' => env('DB_QUEUE', 'default'), + 'retry_after' => (int) env('DB_QUEUE_RETRY_AFTER', 90), + 'after_commit' => false, + ], + + 'beanstalkd' => [ + 'driver' => 'beanstalkd', + 'host' => env('BEANSTALKD_QUEUE_HOST', 'localhost'), + 'queue' => env('BEANSTALKD_QUEUE', 'default'), + 'retry_after' => (int) env('BEANSTALKD_QUEUE_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' => env('REDIS_QUEUE_CONNECTION', 'default'), + 'queue' => env('REDIS_QUEUE', 'default'), + 'retry_after' => (int) env('REDIS_QUEUE_RETRY_AFTER', 90), + 'block_for' => null, + 'after_commit' => false, + ], + + 'deferred' => [ + 'driver' => 'deferred', + ], + + 'background' => [ + 'driver' => 'background', + ], + + 'failover' => [ + 'driver' => 'failover', + 'connections' => [ + 'database', + 'deferred', + ], + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Job Batching + |-------------------------------------------------------------------------- + | + | The following options configure the database and table that store job + | batching information. These options can be updated to any database + | connection and table which has been defined by your application. + | + */ + + 'batching' => [ + 'database' => env('DB_CONNECTION', 'sqlite'), + 'table' => 'job_batches', + ], + + /* + |-------------------------------------------------------------------------- + | Failed Queue Jobs + |-------------------------------------------------------------------------- + | + | These options configure the behavior of failed queue job logging so you + | can control how and where failed jobs are stored. Laravel ships with + | support for storing failed jobs in a simple file or in a database. + | + | Supported drivers: "database-uuids", "dynamodb", "file", "null" + | + */ + + 'failed' => [ + 'driver' => env('QUEUE_FAILED_DRIVER', 'database-uuids'), + 'database' => env('DB_CONNECTION', 'sqlite'), + 'table' => 'failed_jobs', + ], + +]; diff --git a/config/services.php b/config/services.php new file mode 100644 index 000000000..6a90eb830 --- /dev/null +++ b/config/services.php @@ -0,0 +1,38 @@ + [ + 'key' => env('POSTMARK_API_KEY'), + ], + + 'resend' => [ + 'key' => env('RESEND_API_KEY'), + ], + + 'ses' => [ + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), + ], + + 'slack' => [ + 'notifications' => [ + 'bot_user_oauth_token' => env('SLACK_BOT_USER_OAUTH_TOKEN'), + 'channel' => env('SLACK_BOT_USER_DEFAULT_CHANNEL'), + ], + ], + +]; diff --git a/config/session.php b/config/session.php new file mode 100644 index 000000000..f5744827f --- /dev/null +++ b/config/session.php @@ -0,0 +1,233 @@ + env('SESSION_DRIVER', 'database'), + + /* + |-------------------------------------------------------------------------- + | 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 expire immediately when the browser is closed then you may + | indicate that via the expire_on_close configuration option. + | + */ + + 'lifetime' => (int) env('SESSION_LIFETIME', 120), + + 'expire_on_close' => env('SESSION_EXPIRE_ON_CLOSE', false), + + /* + |-------------------------------------------------------------------------- + | Session Encryption + |-------------------------------------------------------------------------- + | + | This option allows you to easily specify that all of your session data + | should be encrypted before it's stored. All encryption is performed + | automatically by Laravel and you may use the session like normal. + | + */ + + 'encrypt' => env('SESSION_ENCRYPT', false), + + /* + |-------------------------------------------------------------------------- + | Session File Location + |-------------------------------------------------------------------------- + | + | When utilizing the "file" session driver, the session files are placed + | on disk. The default storage location is defined here; however, you + | are free to provide another location where they should be stored. + | + */ + + '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'), + + /* + |-------------------------------------------------------------------------- + | Session Database Table + |-------------------------------------------------------------------------- + | + | When using the "database" session driver, you may specify the table to + | be used to store sessions. Of course, a sensible default is defined + | for you; however, you're welcome to change this to another table. + | + */ + + 'table' => env('SESSION_TABLE', 'sessions'), + + /* + |-------------------------------------------------------------------------- + | Session Cache Store + |-------------------------------------------------------------------------- + | + | When using one of the framework's cache driven session backends, you may + | define the cache store which should be used to store the session data + | between requests. This must match one of your defined cache stores. + | + | Affects: "dynamodb", "memcached", "redis" + | + */ + + 'store' => env('SESSION_STORE'), + + /* + |-------------------------------------------------------------------------- + | 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 session cookie that is created by + | the framework. Typically, you should not need to change this value + | since doing so does not grant a meaningful security improvement. + | + */ + + 'cookie' => env( + 'SESSION_COOKIE', + Str::slug((string) 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're free to change this when necessary. + | + */ + + 'path' => env('SESSION_PATH', '/'), + + /* + |-------------------------------------------------------------------------- + | Session Cookie Domain + |-------------------------------------------------------------------------- + | + | This value determines the domain and subdomains the session cookie is + | available to. By default, the cookie will be available to the root + | domain without subdomains. Typically, this shouldn't be changed. + | + */ + + 'domain' => env('SESSION_DOMAIN'), + + /* + |-------------------------------------------------------------------------- + | 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. It's unlikely you should disable this option. + | + */ + + 'http_only' => env('SESSION_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" to permit secure cross-site requests. + | + | See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#samesitesamesite-value + | + | Supported: "lax", "strict", "none", null + | + */ + + 'same_site' => env('SESSION_SAME_SITE', 'lax'), + + /* + |-------------------------------------------------------------------------- + | Partitioned Cookies + |-------------------------------------------------------------------------- + | + | Setting this value to true will tie the cookie to the top-level site for + | a cross-site context. Partitioned cookies are accepted by the browser + | when flagged "secure" and the Same-Site attribute is set to "none". + | + */ + + 'partitioned' => env('SESSION_PARTITIONED_COOKIE', false), + + /* + |-------------------------------------------------------------------------- + | Session Serialization + |-------------------------------------------------------------------------- + | + | This value controls the serialization strategy for session data, which + | is JSON by default. Setting this to "php" allows the storage of PHP + | objects in the session but can make an application vulnerable to + | "gadget chain" serialization attacks if the APP_KEY is leaked. + | + | Supported: "json", "php" + | + */ + + 'serialization' => 'json', + +]; 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/UserFactory.php b/database/factories/UserFactory.php new file mode 100644 index 000000000..c4ceb0745 --- /dev/null +++ b/database/factories/UserFactory.php @@ -0,0 +1,45 @@ + + */ +class UserFactory extends Factory +{ + /** + * The current password being used by the factory. + */ + protected static ?string $password; + + /** + * Define the model's default state. + * + * @return array + */ + public function definition(): array + { + return [ + 'name' => fake()->name(), + 'email' => fake()->unique()->safeEmail(), + 'email_verified_at' => now(), + 'password' => static::$password ??= Hash::make('password'), + 'remember_token' => Str::random(10), + ]; + } + + /** + * Indicate that the model's email address should be unverified. + */ + public function unverified(): static + { + return $this->state(fn (array $attributes) => [ + 'email_verified_at' => null, + ]); + } +} diff --git a/database/migrations/0001_01_01_000000_create_users_table.php b/database/migrations/0001_01_01_000000_create_users_table.php new file mode 100644 index 000000000..05fb5d9ea --- /dev/null +++ b/database/migrations/0001_01_01_000000_create_users_table.php @@ -0,0 +1,49 @@ +id(); + $table->string('name'); + $table->string('email')->unique(); + $table->timestamp('email_verified_at')->nullable(); + $table->string('password'); + $table->rememberToken(); + $table->timestamps(); + }); + + Schema::create('password_reset_tokens', function (Blueprint $table) { + $table->string('email')->primary(); + $table->string('token'); + $table->timestamp('created_at')->nullable(); + }); + + Schema::create('sessions', function (Blueprint $table) { + $table->string('id')->primary(); + $table->foreignId('user_id')->nullable()->index(); + $table->string('ip_address', 45)->nullable(); + $table->text('user_agent')->nullable(); + $table->longText('payload'); + $table->integer('last_activity')->index(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('users'); + Schema::dropIfExists('password_reset_tokens'); + Schema::dropIfExists('sessions'); + } +}; diff --git a/database/migrations/0001_01_01_000001_create_cache_table.php b/database/migrations/0001_01_01_000001_create_cache_table.php new file mode 100644 index 000000000..06dc7a5ee --- /dev/null +++ b/database/migrations/0001_01_01_000001_create_cache_table.php @@ -0,0 +1,35 @@ +string('key')->primary(); + $table->mediumText('value'); + $table->bigInteger('expiration')->index(); + }); + + Schema::create('cache_locks', function (Blueprint $table) { + $table->string('key')->primary(); + $table->string('owner'); + $table->bigInteger('expiration')->index(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('cache'); + Schema::dropIfExists('cache_locks'); + } +}; diff --git a/database/migrations/0001_01_01_000002_create_jobs_table.php b/database/migrations/0001_01_01_000002_create_jobs_table.php new file mode 100644 index 000000000..87d3ed78f --- /dev/null +++ b/database/migrations/0001_01_01_000002_create_jobs_table.php @@ -0,0 +1,57 @@ +id(); + $table->string('queue')->index(); + $table->longText('payload'); + $table->unsignedSmallInteger('attempts'); + $table->unsignedInteger('reserved_at')->nullable(); + $table->unsignedInteger('available_at'); + $table->unsignedInteger('created_at'); + }); + + Schema::create('job_batches', function (Blueprint $table) { + $table->string('id')->primary(); + $table->string('name'); + $table->integer('total_jobs'); + $table->integer('pending_jobs'); + $table->integer('failed_jobs'); + $table->longText('failed_job_ids'); + $table->mediumText('options')->nullable(); + $table->integer('cancelled_at')->nullable(); + $table->integer('created_at'); + $table->integer('finished_at')->nullable(); + }); + + Schema::create('failed_jobs', function (Blueprint $table) { + $table->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. + */ + public function down(): void + { + Schema::dropIfExists('jobs'); + Schema::dropIfExists('job_batches'); + Schema::dropIfExists('failed_jobs'); + } +}; diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php new file mode 100644 index 000000000..6b901f8bc --- /dev/null +++ b/database/seeders/DatabaseSeeder.php @@ -0,0 +1,25 @@ +create(); + + User::factory()->create([ + 'name' => 'Test User', + 'email' => 'test@example.com', + ]); + } +} diff --git a/legacy/lib/Session.php b/legacy/lib/Session.php old mode 100755 new mode 100644 diff --git a/package.json b/package.json new file mode 100644 index 000000000..49c869e3b --- /dev/null +++ b/package.json @@ -0,0 +1,16 @@ +{ + "$schema": "https://www.schemastore.org/package.json", + "private": true, + "type": "module", + "scripts": { + "build": "vite build", + "dev": "vite" + }, + "devDependencies": { + "@tailwindcss/vite": "^4.0.0", + "concurrently": "^9.0.1", + "laravel-vite-plugin": "^3.1", + "tailwindcss": "^4.0.0", + "vite": "^8.0.0" + } +} diff --git a/phpunit.xml b/phpunit.xml new file mode 100644 index 000000000..e7f0a48df --- /dev/null +++ b/phpunit.xml @@ -0,0 +1,36 @@ + + + + + tests/Unit + + + tests/Feature + + + + + app + + + + + + + + + + + + + + + + + + + diff --git a/public/.htaccess b/public/.htaccess new file mode 100644 index 000000000..b574a597d --- /dev/null +++ b/public/.htaccess @@ -0,0 +1,25 @@ + + + Options -MultiViews -Indexes + + + RewriteEngine On + + # Handle Authorization Header + RewriteCond %{HTTP:Authorization} . + RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] + + # Handle X-XSRF-Token Header + RewriteCond %{HTTP:x-xsrf-token} . + RewriteRule .* - [E=HTTP_X_XSRF_TOKEN:%{HTTP:X-XSRF-Token}] + + # 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/favicon.ico b/public/favicon.ico new file mode 100644 index 000000000..e69de29bb diff --git a/public/index.php b/public/index.php new file mode 100644 index 000000000..ee8f07e99 --- /dev/null +++ b/public/index.php @@ -0,0 +1,20 @@ +handleRequest(Request::capture()); diff --git a/public/robots.txt b/public/robots.txt new file mode 100644 index 000000000..eb0536286 --- /dev/null +++ b/public/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Disallow: diff --git a/resources/css/app.css b/resources/css/app.css new file mode 100644 index 000000000..3e6abeaba --- /dev/null +++ b/resources/css/app.css @@ -0,0 +1,11 @@ +@import 'tailwindcss'; + +@source '../../vendor/laravel/framework/src/Illuminate/Pagination/resources/views/*.blade.php'; +@source '../../storage/framework/views/*.php'; +@source '../**/*.blade.php'; +@source '../**/*.js'; + +@theme { + --font-sans: 'Instrument Sans', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', + 'Segoe UI Symbol', 'Noto Color Emoji'; +} diff --git a/resources/js/app.js b/resources/js/app.js new file mode 100644 index 000000000..8337712ea --- /dev/null +++ b/resources/js/app.js @@ -0,0 +1 @@ +// diff --git a/resources/views/welcome.blade.php b/resources/views/welcome.blade.php new file mode 100644 index 000000000..26e294ab7 --- /dev/null +++ b/resources/views/welcome.blade.php @@ -0,0 +1,223 @@ + + + + + + + {{ config('app.name', 'Laravel') }} + + @fonts + + + @if (file_exists(public_path('build/manifest.json')) || file_exists(public_path('hot'))) + @vite(['resources/css/app.css', 'resources/js/app.js']) + @else + + @endif + + +
+ @if (Route::has('login')) + + @endif +
+
+
+
+

Let's get started

+

With so many options available to you,
we suggest you start with the following:

+ + + +

+ v{{ app()->version() }} + + View changelog + + + + +

+
+
+ {{-- Laravel Logo --}} + + + + + + + + + + + {{-- 13 --}} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ + @if (Route::has('login')) + + @endif + + diff --git a/routes/console.php b/routes/console.php new file mode 100644 index 000000000..3c9adf1af --- /dev/null +++ b/routes/console.php @@ -0,0 +1,8 @@ +comment(Inspiring::quote()); +})->purpose('Display an inspiring quote'); diff --git a/routes/web.php b/routes/web.php new file mode 100644 index 000000000..86a06c53e --- /dev/null +++ b/routes/web.php @@ -0,0 +1,7 @@ +get('/'); + + $response->assertStatus(200); + } +} diff --git a/tests/TestCase.php b/tests/TestCase.php new file mode 100644 index 000000000..fe1ffc2ff --- /dev/null +++ b/tests/TestCase.php @@ -0,0 +1,10 @@ +assertTrue(true); + } +} diff --git a/vite.config.js b/vite.config.js new file mode 100644 index 000000000..1fd66d538 --- /dev/null +++ b/vite.config.js @@ -0,0 +1,24 @@ +import { defineConfig } from 'vite'; +import laravel from 'laravel-vite-plugin'; +import { bunny } from 'laravel-vite-plugin/fonts'; +import tailwindcss from '@tailwindcss/vite'; + +export default defineConfig({ + plugins: [ + laravel({ + input: ['resources/css/app.css', 'resources/js/app.js'], + refresh: true, + fonts: [ + bunny('Instrument Sans', { + weights: [400, 500, 600], + }), + ], + }), + tailwindcss(), + ], + server: { + watch: { + ignored: ['**/storage/framework/views/**'], + }, + }, +}); From 083fc802768bfa8421b06f9f23c115ed40d5aaa2 Mon Sep 17 00:00:00 2001 From: anonymoususer72041 <247563575+anonymoususer72041@users.noreply.github.com> Date: Wed, 6 May 2026 13:44:52 +0200 Subject: [PATCH 03/12] Customize composer metadata --- composer.json | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/composer.json b/composer.json index 45ca29fb2..9684dc8a6 100644 --- a/composer.json +++ b/composer.json @@ -1,10 +1,9 @@ { "$schema": "https://getcomposer.org/schema.json", - "name": "laravel/laravel", + "name": "opencats/opencats", "type": "project", - "description": "The skeleton application for the Laravel framework.", - "keywords": ["laravel", "framework"], - "license": "MIT", + "description": "Free and open source applicant tracking system for recruiters.", + "license": "MPL-2.0", "require": { "php": "^8.3", "laravel/framework": "^13.7", From b3bac82a0f1d8b7e8c72eb5c7c02e944d7f79731 Mon Sep 17 00:00:00 2001 From: anonymoususer72041 <247563575+anonymoususer72041@users.noreply.github.com> Date: Wed, 6 May 2026 13:45:44 +0200 Subject: [PATCH 04/12] Set application name to OpenCATS --- .env.example | 2 +- config/app.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.env.example b/.env.example index c0660ea14..1cfb59a09 100644 --- a/.env.example +++ b/.env.example @@ -1,4 +1,4 @@ -APP_NAME=Laravel +APP_NAME=OpenCATS APP_ENV=local APP_KEY= APP_DEBUG=true diff --git a/config/app.php b/config/app.php index 423eed59f..f99e460d1 100644 --- a/config/app.php +++ b/config/app.php @@ -13,7 +13,7 @@ | */ - 'name' => env('APP_NAME', 'Laravel'), + 'name' => env('APP_NAME', 'OpenCATS'), /* |-------------------------------------------------------------------------- From d9134b4edba14565dcce833f5708aaa22e393a0a Mon Sep 17 00:00:00 2001 From: anonymoususer72041 <247563575+anonymoususer72041@users.noreply.github.com> Date: Wed, 6 May 2026 14:18:03 +0200 Subject: [PATCH 05/12] Add Laravel Sail for local Docker development --- composer.json | 1 + composer.lock | 140 +++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 140 insertions(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 9684dc8a6..29bc23741 100644 --- a/composer.json +++ b/composer.json @@ -14,6 +14,7 @@ "laravel/pail": "^1.2.5", "laravel/pao": "^1.0.6", "laravel/pint": "^1.27", + "laravel/sail": "^1.58", "mockery/mockery": "^1.6", "nunomaduro/collision": "^8.6", "phpunit/phpunit": "^12.5.12" diff --git a/composer.lock b/composer.lock index db18b939d..540833d57 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "74199c0a3889e8d1256a25f93805ef56", + "content-hash": "575b59a194a17d2d6b983ca7a4762b9e", "packages": [ { "name": "brick/math", @@ -6448,6 +6448,69 @@ }, "time": "2026-04-20T15:26:14+00:00" }, + { + "name": "laravel/sail", + "version": "v1.58.0", + "source": { + "type": "git", + "url": "https://github.com/laravel/sail.git", + "reference": "2e5e968138ca52ed87d712449697a8364d73b466" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/sail/zipball/2e5e968138ca52ed87d712449697a8364d73b466", + "reference": "2e5e968138ca52ed87d712449697a8364d73b466", + "shasum": "" + }, + "require": { + "illuminate/console": "^9.52.16|^10.0|^11.0|^12.0|^13.0", + "illuminate/contracts": "^9.52.16|^10.0|^11.0|^12.0|^13.0", + "illuminate/support": "^9.52.16|^10.0|^11.0|^12.0|^13.0", + "php": "^8.0", + "symfony/console": "^6.0|^7.0|^8.0", + "symfony/yaml": "^6.0|^7.0|^8.0" + }, + "require-dev": { + "orchestra/testbench": "^7.0|^8.0|^9.0|^10.0|^11.0", + "phpstan/phpstan": "^2.0" + }, + "bin": [ + "bin/sail" + ], + "type": "library", + "extra": { + "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": "2026-04-27T13:38:34+00:00" + }, { "name": "mockery/mockery", "version": "1.6.12", @@ -8189,6 +8252,81 @@ ], "time": "2024-10-20T05:08:20+00:00" }, + { + "name": "symfony/yaml", + "version": "v8.0.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "54174ab48c0c0f9e21512b304be17f8150ccf8f1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/54174ab48c0c0f9e21512b304be17f8150ccf8f1", + "reference": "54174ab48c0c0f9e21512b304be17f8150ccf8f1", + "shasum": "" + }, + "require": { + "php": ">=8.4", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "symfony/console": "<7.4" + }, + "require-dev": { + "symfony/console": "^7.4|^8.0" + }, + "bin": [ + "Resources/bin/yaml-lint" + ], + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Loads and dumps YAML files", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/yaml/tree/v8.0.8" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2026-03-30T15:14:47+00:00" + }, { "name": "theseer/tokenizer", "version": "2.0.1", From 857d7345890076c29ec1b0d680ad0cdc503dd1cb Mon Sep 17 00:00:00 2001 From: anonymoususer72041 <247563575+anonymoususer72041@users.noreply.github.com> Date: Wed, 6 May 2026 13:54:24 +0200 Subject: [PATCH 06/12] Avoid Laravel database dependencies in wrapper The Laravel application currently acts as a wrapper around the legacy OpenCATS application and does not need its own database tables at runtime. Use file-based sessions and cache and run the queue synchronously, so the wrapper does not require Laravel session, cache or queue tables before the legacy database integration has been addressed separately. --- .env.example | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.env.example b/.env.example index 1cfb59a09..8d6a3c192 100644 --- a/.env.example +++ b/.env.example @@ -27,7 +27,7 @@ DB_CONNECTION=sqlite # DB_USERNAME=root # DB_PASSWORD= -SESSION_DRIVER=database +SESSION_DRIVER=file SESSION_LIFETIME=120 SESSION_ENCRYPT=false SESSION_PATH=/ @@ -35,9 +35,9 @@ SESSION_DOMAIN=null BROADCAST_CONNECTION=log FILESYSTEM_DISK=local -QUEUE_CONNECTION=database +QUEUE_CONNECTION=sync -CACHE_STORE=database +CACHE_STORE=file # CACHE_PREFIX= MEMCACHED_HOST=127.0.0.1 From 6608319f042fcc0bc7c787cef893ecfc88552c39 Mon Sep 17 00:00:00 2001 From: anonymoususer72041 <247563575+anonymoususer72041@users.noreply.github.com> Date: Thu, 7 May 2026 09:07:06 +0200 Subject: [PATCH 07/12] Add Apache fallback rewrite to Laravel public directory --- .htaccess | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 .htaccess diff --git a/.htaccess b/.htaccess new file mode 100644 index 000000000..7ec38eab9 --- /dev/null +++ b/.htaccess @@ -0,0 +1,11 @@ +Options -Indexes + + + RewriteEngine On + + # Do nothing if the request is already for /public or /public/... + RewriteRule ^public(/|$) - [L] + + # Otherwise, forward everything to /public/... + RewriteRule ^(.*)$ public/$1 [L] + From 94e75ee919bb2d74962bc9ed6cc4973d06a3a115 Mon Sep 17 00:00:00 2001 From: anonymoususer72041 <247563575+anonymoususer72041@users.noreply.github.com> Date: Thu, 7 May 2026 10:02:39 +0200 Subject: [PATCH 08/12] Move legacy Apache headers to public entrypoint --- legacy/.htaccess | 16 ---------------- public/.htaccess | 13 +++++++++++++ 2 files changed, 13 insertions(+), 16 deletions(-) delete mode 100644 legacy/.htaccess diff --git a/legacy/.htaccess b/legacy/.htaccess deleted file mode 100644 index e58fd31cc..000000000 --- a/legacy/.htaccess +++ /dev/null @@ -1,16 +0,0 @@ -IndexIgnore * - -Options -Indexes - -# Security headers (requires mod_headers; AllowOverride FileInfo or All). -# Basic security headers. -# These defaults are intentionally conservative to avoid breaking common customizations. - - Header always set X-Content-Type-Options "nosniff" - Header always set Referrer-Policy "strict-origin-when-cross-origin" - Header always set Permissions-Policy "camera=(), microphone=(), geolocation=(), payment=(), usb=()" - - # Prevent clickjacking on the OpenCATS UI. - # Note: /careers/ intentionally unsets this header in careers/.htaccess to allow embedding Career Portal into external websites using an iframe. - Header always set X-Frame-Options "SAMEORIGIN" - diff --git a/public/.htaccess b/public/.htaccess index b574a597d..a4dc9dfa0 100644 --- a/public/.htaccess +++ b/public/.htaccess @@ -1,3 +1,16 @@ +# Legacy OpenCATS compatibility headers +# These mirror the legacy .htaccess behavior while requests enter through public/ + + Header always set X-Content-Type-Options "nosniff" + Header always set Referrer-Policy "strict-origin-when-cross-origin" + Header always set Permissions-Policy "camera=(), microphone=(), geolocation=(), payment=(), usb=()" + Header always set X-Frame-Options "SAMEORIGIN" + + # The Career Portal may be embedded into external websites using an iframe. + SetEnvIf Request_URI "^/careers(/|$)" OPENCATS_CAREERS_PORTAL + Header always unset X-Frame-Options env=OPENCATS_CAREERS_PORTAL + + Options -MultiViews -Indexes From 83a0d08c56c179994c54997474ad8ce604af0da5 Mon Sep 17 00:00:00 2001 From: anonymoususer72041 <247563575+anonymoususer72041@users.noreply.github.com> Date: Thu, 7 May 2026 09:28:51 +0200 Subject: [PATCH 09/12] Move robots.txt to Laravel public directory --- legacy/robots.txt | 19 ------------------- public/robots.txt | 19 ++++++++++++++++++- 2 files changed, 18 insertions(+), 20 deletions(-) delete mode 100644 legacy/robots.txt diff --git a/legacy/robots.txt b/legacy/robots.txt deleted file mode 100644 index 150329ecb..000000000 --- a/legacy/robots.txt +++ /dev/null @@ -1,19 +0,0 @@ -# By default, block crawling of the main application backend and only expose the public careers portal. - -User-agent: * -Disallow: / - -# Public careers portal (job listings, job details, applications) - -# Canonical public entry point for job listings and job details -Allow: /careers/ - -# Static assets required by the public careers portal - -# Common static asset directories (adjust to match your installation if needed) -Allow: /js/ -Allow: /images/ -Allow: /main.css -Allow: /careersPage.css -Allow: /ie.css -Allow: /not-ie.css diff --git a/public/robots.txt b/public/robots.txt index eb0536286..5f382d727 100644 --- a/public/robots.txt +++ b/public/robots.txt @@ -1,2 +1,19 @@ +# By default, block crawling of the main application backend and only expose the public careers portal. + User-agent: * -Disallow: +Disallow: / + +# Public careers portal (job listings, job details, applications) + +# Canonical public entry point for job listings and job details +Allow: /careers/ + +# Static assets required by the public careers portal + +# Common static asset directories (adjust to match your installation if needed) +Allow: /legacy/js/ +Allow: /legacy/images/ +Allow: /legacy/main.css +Allow: /legacy/careersPage.css +Allow: /legacy/ie.css +Allow: /legacy/not-ie.css From f79e669edc3284360fe418db5f4f563090f9244d Mon Sep 17 00:00:00 2001 From: anonymoususer72041 <247563575+anonymoususer72041@users.noreply.github.com> Date: Thu, 7 May 2026 11:31:20 +0200 Subject: [PATCH 10/12] Resolve legacy Composer autoloader from wrapper root --- legacy/lib/Companies.php | 2 +- legacy/lib/JobOrders.php | 2 +- legacy/lib/Mailer.php | 4 ++-- legacy/lib/TemplateUtility.php | 2 +- legacy/modules/candidates/Show.tpl | 2 +- legacy/modules/companies/Show.tpl | 2 +- legacy/modules/contacts/Show.tpl | 2 +- legacy/modules/joborders/Show.tpl | 2 +- 8 files changed, 9 insertions(+), 9 deletions(-) diff --git a/legacy/lib/Companies.php b/legacy/lib/Companies.php index 6f4c3330a..8848b602c 100755 --- a/legacy/lib/Companies.php +++ b/legacy/lib/Companies.php @@ -1,5 +1,5 @@ diff --git a/legacy/modules/companies/Show.tpl b/legacy/modules/companies/Show.tpl index e0fddbde3..4cc045b9d 100755 --- a/legacy/modules/companies/Show.tpl +++ b/legacy/modules/companies/Show.tpl @@ -1,5 +1,5 @@ data['name'], array( 'js/activity.js', 'js/sorttable.js', 'js/attachment.js')); ?> diff --git a/legacy/modules/contacts/Show.tpl b/legacy/modules/contacts/Show.tpl index c0137ebbd..cc878c29d 100755 --- a/legacy/modules/contacts/Show.tpl +++ b/legacy/modules/contacts/Show.tpl @@ -1,6 +1,6 @@ data['firstName'] . ' ' . $this->data['lastName'], array( 'js/activity.js', 'js/attachment.js')); ?> diff --git a/legacy/modules/joborders/Show.tpl b/legacy/modules/joborders/Show.tpl index aa910759a..79cda0578 100755 --- a/legacy/modules/joborders/Show.tpl +++ b/legacy/modules/joborders/Show.tpl @@ -1,5 +1,5 @@ isPopup): ?> From 190940550cd2e4c002546e6b3dec0f7a0854794b Mon Sep 17 00:00:00 2001 From: anonymoususer72041 <247563575+anonymoususer72041@users.noreply.github.com> Date: Thu, 7 May 2026 11:09:38 +0200 Subject: [PATCH 11/12] Move legacy Composer dependencies to wrapper --- composer.json | 14 +- composer.lock | 4034 ++++++++++++++++++++++++++------------ legacy/composer.json | 25 - legacy/composer.lock | 4451 ------------------------------------------ 4 files changed, 2766 insertions(+), 5758 deletions(-) delete mode 100644 legacy/composer.json delete mode 100644 legacy/composer.lock diff --git a/composer.json b/composer.json index 29bc23741..f0113213b 100644 --- a/composer.json +++ b/composer.json @@ -6,11 +6,20 @@ "license": "MPL-2.0", "require": { "php": "^8.3", + "ckeditor/ckeditor": "^4.25.1", "laravel/framework": "^13.7", - "laravel/tinker": "^3.0" + "laravel/tinker": "^3.0", + "neutron/sphinxsearch-api": "^2.0.8", + "phpmailer/phpmailer": "^7.0.2", + "setasign/fpdf": "^1.9.0" }, "require-dev": { + "behat/behat": "^3.15.0", + "behat/mink": "^1.13.0", + "behat/mink-browserkit-driver": "^2.3.0", + "behat/mink-selenium2-driver": "^1.7.0", "fakerphp/faker": "^1.23", + "friends-of-behat/mink-extension": "^2.7.5", "laravel/pail": "^1.2.5", "laravel/pao": "^1.0.6", "laravel/pint": "^1.27", @@ -23,7 +32,8 @@ "psr-4": { "App\\": "app/", "Database\\Factories\\": "database/factories/", - "Database\\Seeders\\": "database/seeders/" + "Database\\Seeders\\": "database/seeders/", + "OpenCATS\\": "legacy/src/OpenCATS/" } }, "autoload-dev": { diff --git a/composer.lock b/composer.lock index 540833d57..e9ee24ddc 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "575b59a194a17d2d6b983ca7a4762b9e", + "content-hash": "abf9a4f6089862a089d2f970769b9150", "packages": [ { "name": "brick/math", @@ -135,6 +135,54 @@ ], "time": "2024-02-09T16:56:22+00:00" }, + { + "name": "ckeditor/ckeditor", + "version": "4.25.1", + "source": { + "type": "git", + "url": "https://github.com/ckeditor/ckeditor4-releases.git", + "reference": "3fa1987d35342526e4eb2e64f6ec7172561b7328" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ckeditor/ckeditor4-releases/zipball/3fa1987d35342526e4eb2e64f6ec7172561b7328", + "reference": "3fa1987d35342526e4eb2e64f6ec7172561b7328", + "shasum": "" + }, + "type": "library", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-2.0+", + "LGPL-2.1+", + "MPL-1.1+" + ], + "authors": [ + { + "name": "CKSource", + "homepage": "https://cksource.com" + } + ], + "description": "JavaScript WYSIWYG web text editor.", + "homepage": "https://ckeditor.com/ckeditor-4/", + "keywords": [ + "CKEditor", + "ckeditor4", + "editor", + "fckeditor", + "html", + "javascript", + "richtext", + "text", + "wysiwyg" + ], + "support": { + "forum": "https://stackoverflow.com/tags/ckeditor", + "issues": "https://github.com/ckeditor/ckeditor4/issues", + "source": "https://github.com/ckeditor/ckeditor4", + "wiki": "https://ckeditor.com/docs/ckeditor4/latest/" + }, + "time": "2025-02-05T12:32:07+00:00" + }, { "name": "dflydev/dot-access-data", "version": "v3.0.3", @@ -643,25 +691,26 @@ }, { "name": "guzzlehttp/guzzle", - "version": "7.10.0", + "version": "7.11.1", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4" + "reference": "5af96f374e0ab4ebd747b8310888c99d3adb0a8c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/b51ac707cfa420b7bfd4e4d5e510ba8008e822b4", - "reference": "b51ac707cfa420b7bfd4e4d5e510ba8008e822b4", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/5af96f374e0ab4ebd747b8310888c99d3adb0a8c", + "reference": "5af96f374e0ab4ebd747b8310888c99d3adb0a8c", "shasum": "" }, "require": { "ext-json": "*", - "guzzlehttp/promises": "^2.3", - "guzzlehttp/psr7": "^2.8", + "guzzlehttp/promises": "^2.5", + "guzzlehttp/psr7": "^2.11", "php": "^7.2.5 || ^8.0", "psr/http-client": "^1.0", - "symfony/deprecation-contracts": "^2.2 || ^3.0" + "symfony/deprecation-contracts": "^2.5 || ^3.0", + "symfony/polyfill-php80": "^1.24" }, "provide": { "psr/http-client-implementation": "1.0" @@ -670,8 +719,9 @@ "bamarni/composer-bin-plugin": "^1.8.2", "ext-curl": "*", "guzzle/client-integration-tests": "3.0.2", + "guzzlehttp/test-server": "^0.5", "php-http/message-factory": "^1.1", - "phpunit/phpunit": "^8.5.39 || ^9.6.20", + "phpunit/phpunit": "^8.5.52 || ^9.6.34", "psr/log": "^1.1 || ^2.0 || ^3.0" }, "suggest": { @@ -749,7 +799,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.10.0" + "source": "https://github.com/guzzle/guzzle/tree/7.11.1" }, "funding": [ { @@ -765,28 +815,29 @@ "type": "tidelift" } ], - "time": "2025-08-23T22:36:01+00:00" + "time": "2026-06-07T22:54:06+00:00" }, { "name": "guzzlehttp/promises", - "version": "2.3.0", + "version": "2.5.0", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "481557b130ef3790cf82b713667b43030dc9c957" + "reference": "4360e982f87f5f258bf872d094647791db2f4c8e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/481557b130ef3790cf82b713667b43030dc9c957", - "reference": "481557b130ef3790cf82b713667b43030dc9c957", + "url": "https://api.github.com/repos/guzzle/promises/zipball/4360e982f87f5f258bf872d094647791db2f4c8e", + "reference": "4360e982f87f5f258bf872d094647791db2f4c8e", "shasum": "" }, "require": { - "php": "^7.2.5 || ^8.0" + "php": "^7.2.5 || ^8.0", + "symfony/deprecation-contracts": "^2.5 || ^3.0" }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.44 || ^9.6.25" + "phpunit/phpunit": "^8.5.52 || ^9.6.34" }, "type": "library", "extra": { @@ -832,7 +883,7 @@ ], "support": { "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/2.3.0" + "source": "https://github.com/guzzle/promises/tree/2.5.0" }, "funding": [ { @@ -848,27 +899,29 @@ "type": "tidelift" } ], - "time": "2025-08-22T14:34:08+00:00" + "time": "2026-06-02T12:23:43+00:00" }, { "name": "guzzlehttp/psr7", - "version": "2.9.0", + "version": "2.11.0", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "7d0ed42f28e42d61352a7a79de682e5e67fec884" + "reference": "bbb5e61349fa5cb822b3e87842b951088b76b81f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/7d0ed42f28e42d61352a7a79de682e5e67fec884", - "reference": "7d0ed42f28e42d61352a7a79de682e5e67fec884", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/bbb5e61349fa5cb822b3e87842b951088b76b81f", + "reference": "bbb5e61349fa5cb822b3e87842b951088b76b81f", "shasum": "" }, "require": { "php": "^7.2.5 || ^8.0", "psr/http-factory": "^1.0", "psr/http-message": "^1.1 || ^2.0", - "ralouphie/getallheaders": "^3.0" + "ralouphie/getallheaders": "^3.0", + "symfony/deprecation-contracts": "^2.5 || ^3.0", + "symfony/polyfill-php80": "^1.24" }, "provide": { "psr/http-factory-implementation": "1.0", @@ -876,9 +929,9 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "http-interop/http-factory-tests": "0.9.0", + "http-interop/http-factory-tests": "1.1.0", "jshttp/mime-db": "1.54.0.1", - "phpunit/phpunit": "^8.5.44 || ^9.6.25" + "phpunit/phpunit": "^8.5.52 || ^9.6.34" }, "suggest": { "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" @@ -949,7 +1002,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.9.0" + "source": "https://github.com/guzzle/psr7/tree/2.11.0" }, "funding": [ { @@ -965,20 +1018,20 @@ "type": "tidelift" } ], - "time": "2026-03-10T16:41:02+00:00" + "time": "2026-06-02T12:30:48+00:00" }, { "name": "guzzlehttp/uri-template", - "version": "v1.0.5", + "version": "v1.0.7", "source": { "type": "git", "url": "https://github.com/guzzle/uri-template.git", - "reference": "4f4bbd4e7172148801e76e3decc1e559bdee34e1" + "reference": "7fe811c23a9e3cd712b4389eaeb50b5456d8c529" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/uri-template/zipball/4f4bbd4e7172148801e76e3decc1e559bdee34e1", - "reference": "4f4bbd4e7172148801e76e3decc1e559bdee34e1", + "url": "https://api.github.com/repos/guzzle/uri-template/zipball/7fe811c23a9e3cd712b4389eaeb50b5456d8c529", + "reference": "7fe811c23a9e3cd712b4389eaeb50b5456d8c529", "shasum": "" }, "require": { @@ -987,7 +1040,7 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.44 || ^9.6.25", + "phpunit/phpunit": "^8.5.52 || ^9.6.34", "uri-template/tests": "1.0.0" }, "type": "library", @@ -1035,7 +1088,7 @@ ], "support": { "issues": "https://github.com/guzzle/uri-template/issues", - "source": "https://github.com/guzzle/uri-template/tree/v1.0.5" + "source": "https://github.com/guzzle/uri-template/tree/v1.0.7" }, "funding": [ { @@ -1051,20 +1104,20 @@ "type": "tidelift" } ], - "time": "2025-08-22T14:27:06+00:00" + "time": "2026-06-12T21:33:43+00:00" }, { "name": "laravel/framework", - "version": "v13.8.0", + "version": "v13.15.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "e7db333a025a1e93ebca7744953069d7719f4bcf" + "reference": "7e23b2aa4e1133a43835c93a810b4bedc40e425b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/e7db333a025a1e93ebca7744953069d7719f4bcf", - "reference": "e7db333a025a1e93ebca7744953069d7719f4bcf", + "url": "https://api.github.com/repos/laravel/framework/zipball/7e23b2aa4e1133a43835c93a810b4bedc40e425b", + "reference": "7e23b2aa4e1133a43835c93a810b4bedc40e425b", "shasum": "" }, "require": { @@ -1168,7 +1221,7 @@ "aws/aws-sdk-php": "^3.322.9", "ext-gmp": "*", "fakerphp/faker": "^1.24", - "guzzlehttp/psr7": "^2.4", + "guzzlehttp/psr7": "^2.9", "laravel/pint": "^1.18", "league/flysystem-aws-s3-v3": "^3.25.1", "league/flysystem-ftp": "^3.25.1", @@ -1275,20 +1328,20 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2026-05-05T21:01:14+00:00" + "time": "2026-06-09T13:45:51+00:00" }, { "name": "laravel/prompts", - "version": "v0.3.17", + "version": "v0.3.18", "source": { "type": "git", "url": "https://github.com/laravel/prompts.git", - "reference": "6a82ac19a28b916ae0885828795dbd4c59d9a818" + "reference": "a19af51bb144bf87f08397921fa619f85c7d4e72" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/prompts/zipball/6a82ac19a28b916ae0885828795dbd4c59d9a818", - "reference": "6a82ac19a28b916ae0885828795dbd4c59d9a818", + "url": "https://api.github.com/repos/laravel/prompts/zipball/a19af51bb144bf87f08397921fa619f85c7d4e72", + "reference": "a19af51bb144bf87f08397921fa619f85c7d4e72", "shasum": "" }, "require": { @@ -1332,9 +1385,9 @@ "description": "Add beautiful and user-friendly forms to your command-line applications.", "support": { "issues": "https://github.com/laravel/prompts/issues", - "source": "https://github.com/laravel/prompts/tree/v0.3.17" + "source": "https://github.com/laravel/prompts/tree/v0.3.18" }, - "time": "2026-04-20T16:07:33+00:00" + "time": "2026-05-19T00:47:18+00:00" }, { "name": "laravel/serializable-closure", @@ -1657,16 +1710,16 @@ }, { "name": "league/flysystem", - "version": "3.33.0", + "version": "3.34.0", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "570b8871e0ce693764434b29154c54b434905350" + "reference": "2daaac3b0d4c83ea7ed5d8586e786f5d00f3540e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/570b8871e0ce693764434b29154c54b434905350", - "reference": "570b8871e0ce693764434b29154c54b434905350", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/2daaac3b0d4c83ea7ed5d8586e786f5d00f3540e", + "reference": "2daaac3b0d4c83ea7ed5d8586e786f5d00f3540e", "shasum": "" }, "require": { @@ -1734,9 +1787,9 @@ ], "support": { "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/3.33.0" + "source": "https://github.com/thephpleague/flysystem/tree/3.34.0" }, - "time": "2026-03-25T07:59:30+00:00" + "time": "2026-05-14T10:28:08+00:00" }, { "name": "league/flysystem-local", @@ -2302,16 +2355,16 @@ }, { "name": "nette/utils", - "version": "v4.1.3", + "version": "v4.1.4", "source": { "type": "git", "url": "https://github.com/nette/utils.git", - "reference": "bb3ea637e3d131d72acc033cfc2746ee893349fe" + "reference": "7da6c396d7ebe142bc857c20479d5e70a5e1aac7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/bb3ea637e3d131d72acc033cfc2746ee893349fe", - "reference": "bb3ea637e3d131d72acc033cfc2746ee893349fe", + "url": "https://api.github.com/repos/nette/utils/zipball/7da6c396d7ebe142bc857c20479d5e70a5e1aac7", + "reference": "7da6c396d7ebe142bc857c20479d5e70a5e1aac7", "shasum": "" }, "require": { @@ -2387,9 +2440,55 @@ ], "support": { "issues": "https://github.com/nette/utils/issues", - "source": "https://github.com/nette/utils/tree/v4.1.3" + "source": "https://github.com/nette/utils/tree/v4.1.4" + }, + "time": "2026-05-11T20:49:54+00:00" + }, + { + "name": "neutron/sphinxsearch-api", + "version": "2.0.8.1", + "source": { + "type": "git", + "url": "https://github.com/romainneutron/Sphinx-Search-API-PHP-Client.git", + "reference": "a18fd84951ea1fb006387e2d099d025235b14d34" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/romainneutron/Sphinx-Search-API-PHP-Client/zipball/a18fd84951ea1fb006387e2d099d025235b14d34", + "reference": "a18fd84951ea1fb006387e2d099d025235b14d34", + "shasum": "" + }, + "require": { + "php": ">=4" + }, + "type": "library", + "autoload": { + "classmap": [ + "sphinxapi.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL" + ], + "authors": [ + { + "name": "Andrew Aksyonoff", + "homepage": "http://sphinxsearch.com/" + } + ], + "description": "SphinxSearch PHP API", + "homepage": "http://sphinxsearch.com/", + "keywords": [ + "Sphinx Search", + "api", + "search-engine" + ], + "support": { + "issues": "https://github.com/romainneutron/Sphinx-Search-API-PHP-Client/issues", + "source": "https://github.com/romainneutron/Sphinx-Search-API-PHP-Client/tree/master" }, - "time": "2026-02-13T03:05:33+00:00" + "time": "2018-07-09T14:18:54+00:00" }, { "name": "nikic/php-parser", @@ -2536,6 +2635,88 @@ ], "time": "2026-02-16T23:10:27+00:00" }, + { + "name": "phpmailer/phpmailer", + "version": "v7.1.1", + "source": { + "type": "git", + "url": "https://github.com/PHPMailer/PHPMailer.git", + "reference": "1bc1716a507a65e039d4ac9d9adebbbd0d346e15" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/1bc1716a507a65e039d4ac9d9adebbbd0d346e15", + "reference": "1bc1716a507a65e039d4ac9d9adebbbd0d346e15", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-filter": "*", + "ext-hash": "*", + "php": ">=5.5.0" + }, + "require-dev": { + "dealerdirect/phpcodesniffer-composer-installer": "^1.0", + "doctrine/annotations": "^1.2.6 || ^1.13.3", + "php-parallel-lint/php-console-highlighter": "^1.0.0", + "php-parallel-lint/php-parallel-lint": "^1.3.2", + "phpcompatibility/php-compatibility": "^10.0.0@dev", + "squizlabs/php_codesniffer": "^3.13.5", + "yoast/phpunit-polyfills": "^1.0.4" + }, + "suggest": { + "decomplexity/SendOauth2": "Adapter for using XOAUTH2 authentication", + "directorytree/imapengine": "For uploading sent messages via IMAP, see gmail example", + "ext-imap": "Needed to support advanced email address parsing according to RFC822", + "ext-mbstring": "Needed to send email in multibyte encoding charset or decode encoded addresses", + "ext-openssl": "Needed for secure SMTP sending and DKIM signing", + "greew/oauth2-azure-provider": "Needed for Microsoft Azure XOAUTH2 authentication", + "hayageek/oauth2-yahoo": "Needed for Yahoo XOAUTH2 authentication", + "league/oauth2-google": "Needed for Google XOAUTH2 authentication", + "psr/log": "For optional PSR-3 debug logging", + "symfony/polyfill-mbstring": "To support UTF-8 if the Mbstring PHP extension is not enabled (^1.2)", + "thenetworg/oauth2-azure": "Needed for Microsoft XOAUTH2 authentication" + }, + "type": "library", + "autoload": { + "psr-4": { + "PHPMailer\\PHPMailer\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-2.1-only" + ], + "authors": [ + { + "name": "Marcus Bointon", + "email": "phpmailer@synchromedia.co.uk" + }, + { + "name": "Jim Jagielski", + "email": "jimjag@gmail.com" + }, + { + "name": "Andy Prevost", + "email": "codeworxtech@users.sourceforge.net" + }, + { + "name": "Brent R. Matzelle" + } + ], + "description": "PHPMailer is a full-featured email creation and transfer class for PHP", + "support": { + "issues": "https://github.com/PHPMailer/PHPMailer/issues", + "source": "https://github.com/PHPMailer/PHPMailer/tree/v7.1.1" + }, + "funding": [ + { + "url": "https://github.com/Synchro", + "type": "github" + } + ], + "time": "2026-05-18T08:06:14+00:00" + }, { "name": "phpoption/phpoption", "version": "1.9.5", @@ -3025,16 +3206,16 @@ }, { "name": "psy/psysh", - "version": "v0.12.22", + "version": "v0.12.23", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "3be75d5b9244936dd4ac62ade2bfb004d13acf0f" + "reference": "4dcc0f08047d52bbde475eda481146fd8e27e1a4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/3be75d5b9244936dd4ac62ade2bfb004d13acf0f", - "reference": "3be75d5b9244936dd4ac62ade2bfb004d13acf0f", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/4dcc0f08047d52bbde475eda481146fd8e27e1a4", + "reference": "4dcc0f08047d52bbde475eda481146fd8e27e1a4", "shasum": "" }, "require": { @@ -3098,9 +3279,9 @@ ], "support": { "issues": "https://github.com/bobthecow/psysh/issues", - "source": "https://github.com/bobthecow/psysh/tree/v0.12.22" + "source": "https://github.com/bobthecow/psysh/tree/v0.12.23" }, - "time": "2026-03-22T23:03:24+00:00" + "time": "2026-05-23T13:41:31+00:00" }, { "name": "ralouphie/getallheaders", @@ -3300,22 +3481,68 @@ }, "time": "2025-12-14T04:43:48+00:00" }, + { + "name": "setasign/fpdf", + "version": "1.9.0", + "source": { + "type": "git", + "url": "https://github.com/Setasign/FPDF.git", + "reference": "051b70e4c57dedc88df41b1eff1c62894e5f9ed0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Setasign/FPDF/zipball/051b70e4c57dedc88df41b1eff1c62894e5f9ed0", + "reference": "051b70e4c57dedc88df41b1eff1c62894e5f9ed0", + "shasum": "" + }, + "require": { + "ext-gd": "*", + "ext-zlib": "*" + }, + "type": "library", + "autoload": { + "classmap": [ + "fpdf.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Olivier Plathey", + "email": "oliver@fpdf.org", + "homepage": "http://fpdf.org/" + } + ], + "description": "FPDF is a PHP class which allows to generate PDF files with pure PHP. F from FPDF stands for Free: you may use it for any kind of usage and modify it to suit your needs.", + "homepage": "http://www.fpdf.org", + "keywords": [ + "fpdf", + "pdf" + ], + "support": { + "source": "https://github.com/Setasign/FPDF/tree/1.9.0" + }, + "time": "2026-05-31T14:25:29+00:00" + }, { "name": "symfony/clock", - "version": "v8.0.8", + "version": "v8.1.0", "source": { "type": "git", "url": "https://github.com/symfony/clock.git", - "reference": "b55a638b189a6faa875e0ccdb00908fb87af95b3" + "reference": "701ef4de9705d6c32292ebee5e8044094a09fbf6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/clock/zipball/b55a638b189a6faa875e0ccdb00908fb87af95b3", - "reference": "b55a638b189a6faa875e0ccdb00908fb87af95b3", + "url": "https://api.github.com/repos/symfony/clock/zipball/701ef4de9705d6c32292ebee5e8044094a09fbf6", + "reference": "701ef4de9705d6c32292ebee5e8044094a09fbf6", "shasum": "" }, "require": { - "php": ">=8.4", + "php": ">=8.4.1", "psr/clock": "^1.0" }, "provide": { @@ -3355,7 +3582,7 @@ "time" ], "support": { - "source": "https://github.com/symfony/clock/tree/v8.0.8" + "source": "https://github.com/symfony/clock/tree/v8.1.0" }, "funding": [ { @@ -3375,43 +3602,51 @@ "type": "tidelift" } ], - "time": "2026-03-30T15:14:47+00:00" + "time": "2026-05-29T05:06:50+00:00" }, { "name": "symfony/console", - "version": "v8.0.9", + "version": "v7.4.13", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "7113778e2e91f4709cb3194a75dfa9c0d028d94d" + "reference": "85095d2573eaefaf35e40b9513a9bf09f72cd217" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/7113778e2e91f4709cb3194a75dfa9c0d028d94d", - "reference": "7113778e2e91f4709cb3194a75dfa9c0d028d94d", + "url": "https://api.github.com/repos/symfony/console/zipball/85095d2573eaefaf35e40b9513a9bf09f72cd217", + "reference": "85095d2573eaefaf35e40b9513a9bf09f72cd217", "shasum": "" }, "require": { - "php": ">=8.4", - "symfony/polyfill-mbstring": "^1.0", + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0", "symfony/service-contracts": "^2.5|^3", - "symfony/string": "^7.4|^8.0" + "symfony/string": "^7.2|^8.0" + }, + "conflict": { + "symfony/dependency-injection": "<6.4", + "symfony/dotenv": "<6.4", + "symfony/event-dispatcher": "<6.4", + "symfony/lock": "<6.4", + "symfony/process": "<6.4" }, "provide": { "psr/log-implementation": "1.0|2.0|3.0" }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^7.4|^8.0", - "symfony/dependency-injection": "^7.4|^8.0", - "symfony/event-dispatcher": "^7.4|^8.0", - "symfony/http-foundation": "^7.4|^8.0", - "symfony/http-kernel": "^7.4|^8.0", - "symfony/lock": "^7.4|^8.0", - "symfony/messenger": "^7.4|^8.0", - "symfony/process": "^7.4|^8.0", - "symfony/stopwatch": "^7.4|^8.0", - "symfony/var-dumper": "^7.4|^8.0" + "symfony/config": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/event-dispatcher": "^6.4|^7.0|^8.0", + "symfony/http-foundation": "^6.4|^7.0|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/lock": "^6.4|^7.0|^8.0", + "symfony/messenger": "^6.4|^7.0|^8.0", + "symfony/process": "^6.4|^7.0|^8.0", + "symfony/stopwatch": "^6.4|^7.0|^8.0", + "symfony/var-dumper": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -3445,7 +3680,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v8.0.9" + "source": "https://github.com/symfony/console/tree/v7.4.13" }, "funding": [ { @@ -3465,24 +3700,24 @@ "type": "tidelift" } ], - "time": "2026-04-29T15:02:55+00:00" + "time": "2026-05-24T08:56:14+00:00" }, { "name": "symfony/css-selector", - "version": "v8.0.9", + "version": "v8.1.0", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "3665cfade90565430909b906394c73c8739e57d0" + "reference": "dc0e2be45c9b5588c82414f02ac574b4b986abcd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/3665cfade90565430909b906394c73c8739e57d0", - "reference": "3665cfade90565430909b906394c73c8739e57d0", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/dc0e2be45c9b5588c82414f02ac574b4b986abcd", + "reference": "dc0e2be45c9b5588c82414f02ac574b4b986abcd", "shasum": "" }, "require": { - "php": ">=8.4" + "php": ">=8.4.1" }, "type": "library", "autoload": { @@ -3514,7 +3749,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v8.0.9" + "source": "https://github.com/symfony/css-selector/tree/v8.1.0" }, "funding": [ { @@ -3534,20 +3769,20 @@ "type": "tidelift" } ], - "time": "2026-04-18T13:51:42+00:00" + "time": "2026-05-29T05:06:50+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v3.6.0", + "version": "v3.7.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62" + "reference": "50f59d1f3ca46d41ac911f97a78626b6756af35b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62", - "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/50f59d1f3ca46d41ac911f97a78626b6756af35b", + "reference": "50f59d1f3ca46d41ac911f97a78626b6756af35b", "shasum": "" }, "require": { @@ -3560,7 +3795,7 @@ "name": "symfony/contracts" }, "branch-alias": { - "dev-main": "3.6-dev" + "dev-main": "3.7-dev" } }, "autoload": { @@ -3585,7 +3820,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.6.0" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.7.0" }, "funding": [ { @@ -3596,29 +3831,33 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-09-25T14:21:43+00:00" + "time": "2026-04-13T15:52:40+00:00" }, { "name": "symfony/error-handler", - "version": "v8.0.8", + "version": "v8.1.0", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "c1119fe8dcfc3825ec74ec061b96ef0c8f281517" + "reference": "d8aeb1abd3fef84795567850d3a567bdb5945ee5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/c1119fe8dcfc3825ec74ec061b96ef0c8f281517", - "reference": "c1119fe8dcfc3825ec74ec061b96ef0c8f281517", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/d8aeb1abd3fef84795567850d3a567bdb5945ee5", + "reference": "d8aeb1abd3fef84795567850d3a567bdb5945ee5", "shasum": "" }, "require": { - "php": ">=8.4", + "php": ">=8.4.1", "psr/log": "^1|^2|^3", "symfony/polyfill-php85": "^1.32", "symfony/var-dumper": "^7.4|^8.0" @@ -3662,7 +3901,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v8.0.8" + "source": "https://github.com/symfony/error-handler/tree/v8.1.0" }, "funding": [ { @@ -3682,28 +3921,28 @@ "type": "tidelift" } ], - "time": "2026-03-30T15:14:47+00:00" + "time": "2026-05-29T05:06:50+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v8.0.9", + "version": "v7.4.9", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "0c3c1a17604c4dbbec4b93fe162c538482096e1f" + "reference": "e4a2e29753c7801f7a8340e066cfa788f3bc8101" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/0c3c1a17604c4dbbec4b93fe162c538482096e1f", - "reference": "0c3c1a17604c4dbbec4b93fe162c538482096e1f", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/e4a2e29753c7801f7a8340e066cfa788f3bc8101", + "reference": "e4a2e29753c7801f7a8340e066cfa788f3bc8101", "shasum": "" }, "require": { - "php": ">=8.4", + "php": ">=8.2", "symfony/event-dispatcher-contracts": "^2.5|^3" }, "conflict": { - "symfony/security-http": "<7.4", + "symfony/dependency-injection": "<6.4", "symfony/service-contracts": "<2.5" }, "provide": { @@ -3712,14 +3951,14 @@ }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^7.4|^8.0", - "symfony/dependency-injection": "^7.4|^8.0", - "symfony/error-handler": "^7.4|^8.0", - "symfony/expression-language": "^7.4|^8.0", - "symfony/framework-bundle": "^7.4|^8.0", - "symfony/http-foundation": "^7.4|^8.0", + "symfony/config": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/error-handler": "^6.4|^7.0|^8.0", + "symfony/expression-language": "^6.4|^7.0|^8.0", + "symfony/framework-bundle": "^6.4|^7.0|^8.0", + "symfony/http-foundation": "^6.4|^7.0|^8.0", "symfony/service-contracts": "^2.5|^3", - "symfony/stopwatch": "^7.4|^8.0" + "symfony/stopwatch": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -3747,7 +3986,7 @@ "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/v8.0.9" + "source": "https://github.com/symfony/event-dispatcher/tree/v7.4.9" }, "funding": [ { @@ -3767,20 +4006,20 @@ "type": "tidelift" } ], - "time": "2026-04-18T13:51:42+00:00" + "time": "2026-04-18T13:18:21+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v3.6.0", + "version": "v3.7.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "59eb412e93815df44f05f342958efa9f46b1e586" + "reference": "ccba7060602b7fed0b03c85bf025257f76d9ef32" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/59eb412e93815df44f05f342958efa9f46b1e586", - "reference": "59eb412e93815df44f05f342958efa9f46b1e586", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/ccba7060602b7fed0b03c85bf025257f76d9ef32", + "reference": "ccba7060602b7fed0b03c85bf025257f76d9ef32", "shasum": "" }, "require": { @@ -3794,7 +4033,7 @@ "name": "symfony/contracts" }, "branch-alias": { - "dev-main": "3.6-dev" + "dev-main": "3.7-dev" } }, "autoload": { @@ -3827,7 +4066,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.6.0" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.7.0" }, "funding": [ { @@ -3838,29 +4077,33 @@ "url": "https://github.com/fabpot", "type": "github" }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, { "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2024-09-25T14:21:43+00:00" + "time": "2026-01-05T13:30:16+00:00" }, { "name": "symfony/finder", - "version": "v8.0.8", + "version": "v8.1.0", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "8da41214757b87d97f181e3d14a4179286151007" + "reference": "58d2e767a66052c1487356f953445634a8194c64" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/8da41214757b87d97f181e3d14a4179286151007", - "reference": "8da41214757b87d97f181e3d14a4179286151007", + "url": "https://api.github.com/repos/symfony/finder/zipball/58d2e767a66052c1487356f953445634a8194c64", + "reference": "58d2e767a66052c1487356f953445634a8194c64", "shasum": "" }, "require": { - "php": ">=8.4" + "php": ">=8.4.1" }, "require-dev": { "symfony/filesystem": "^7.4|^8.0" @@ -3891,7 +4134,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v8.0.8" + "source": "https://github.com/symfony/finder/tree/v8.1.0" }, "funding": [ { @@ -3911,24 +4154,25 @@ "type": "tidelift" } ], - "time": "2026-03-30T15:14:47+00:00" + "time": "2026-05-29T05:06:50+00:00" }, { "name": "symfony/http-foundation", - "version": "v8.0.8", + "version": "v8.1.0", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "02656f7ebeae5c155d659e946f6b3a33df24051b" + "reference": "af11474600f06718086c2cda4fa6fa8d0a672e7e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/02656f7ebeae5c155d659e946f6b3a33df24051b", - "reference": "02656f7ebeae5c155d659e946f6b3a33df24051b", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/af11474600f06718086c2cda4fa6fa8d0a672e7e", + "reference": "af11474600f06718086c2cda4fa6fa8d0a672e7e", "shasum": "" }, "require": { - "php": ">=8.4", + "php": ">=8.4.1", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "^1.1" }, "conflict": { @@ -3971,7 +4215,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v8.0.8" + "source": "https://github.com/symfony/http-foundation/tree/v8.1.0" }, "funding": [ { @@ -3991,20 +4235,20 @@ "type": "tidelift" } ], - "time": "2026-03-30T15:14:47+00:00" + "time": "2026-05-29T05:06:50+00:00" }, { "name": "symfony/http-kernel", - "version": "v8.0.8", + "version": "v8.0.13", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "1770f6818d83b2fddc12185025b93f39a90cb628" + "reference": "0f2b114380b21d8736a496ab4672b012e3822ee7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/1770f6818d83b2fddc12185025b93f39a90cb628", - "reference": "1770f6818d83b2fddc12185025b93f39a90cb628", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/0f2b114380b21d8736a496ab4672b012e3822ee7", + "reference": "0f2b114380b21d8736a496ab4672b012e3822ee7", "shasum": "" }, "require": { @@ -4075,7 +4319,7 @@ "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/v8.0.8" + "source": "https://github.com/symfony/http-kernel/tree/v8.0.13" }, "funding": [ { @@ -4095,25 +4339,25 @@ "type": "tidelift" } ], - "time": "2026-03-31T21:14:05+00:00" + "time": "2026-05-27T08:48:59+00:00" }, { "name": "symfony/mailer", - "version": "v8.0.8", + "version": "v8.1.0", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "ca5f6edaf8780ece814404b58a4482b22b509c56" + "reference": "9418d772df3a03a142e3bc06f602adb2b8724877" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/ca5f6edaf8780ece814404b58a4482b22b509c56", - "reference": "ca5f6edaf8780ece814404b58a4482b22b509c56", + "url": "https://api.github.com/repos/symfony/mailer/zipball/9418d772df3a03a142e3bc06f602adb2b8724877", + "reference": "9418d772df3a03a142e3bc06f602adb2b8724877", "shasum": "" }, "require": { "egulias/email-validator": "^2.1.10|^3|^4", - "php": ">=8.4", + "php": ">=8.4.1", "psr/event-dispatcher": "^1", "psr/log": "^1|^2|^3", "symfony/event-dispatcher": "^7.4|^8.0", @@ -4155,7 +4399,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v8.0.8" + "source": "https://github.com/symfony/mailer/tree/v8.1.0" }, "funding": [ { @@ -4175,24 +4419,24 @@ "type": "tidelift" } ], - "time": "2026-03-30T15:14:47+00:00" + "time": "2026-05-29T05:06:50+00:00" }, { "name": "symfony/mime", - "version": "v8.0.9", + "version": "v8.1.0", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "a9fcb293650c054b62a5b406f4e92e7b711ea333" + "reference": "b164ae7e3f7915aacfe9ee155f2f358502440664" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/a9fcb293650c054b62a5b406f4e92e7b711ea333", - "reference": "a9fcb293650c054b62a5b406f4e92e7b711ea333", + "url": "https://api.github.com/repos/symfony/mime/zipball/b164ae7e3f7915aacfe9ee155f2f358502440664", + "reference": "b164ae7e3f7915aacfe9ee155f2f358502440664", "shasum": "" }, "require": { - "php": ">=8.4", + "php": ">=8.4.1", "symfony/polyfill-intl-idn": "^1.10", "symfony/polyfill-mbstring": "^1.0" }, @@ -4241,7 +4485,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v8.0.9" + "source": "https://github.com/symfony/mime/tree/v8.1.0" }, "funding": [ { @@ -4261,7 +4505,7 @@ "type": "tidelift" } ], - "time": "2026-04-29T15:02:55+00:00" + "time": "2026-05-29T05:06:50+00:00" }, { "name": "symfony/polyfill-ctype", @@ -4348,16 +4592,16 @@ }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.37.0", + "version": "v1.38.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "4864388bfbd3001ce88e234fab652acd91fdc57e" + "reference": "e9247d281d694a5120554d9afaf54e070e88a603" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/4864388bfbd3001ce88e234fab652acd91fdc57e", - "reference": "4864388bfbd3001ce88e234fab652acd91fdc57e", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/e9247d281d694a5120554d9afaf54e070e88a603", + "reference": "e9247d281d694a5120554d9afaf54e070e88a603", "shasum": "" }, "require": { @@ -4406,7 +4650,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.37.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.38.1" }, "funding": [ { @@ -4426,20 +4670,20 @@ "type": "tidelift" } ], - "time": "2026-04-26T13:13:48+00:00" + "time": "2026-05-26T05:58:03+00:00" }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.37.0", + "version": "v1.38.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "9614ac4d8061dc257ecc64cba1b140873dce8ad3" + "reference": "dc21118016c039a66235cf93d96b435ffb282412" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/9614ac4d8061dc257ecc64cba1b140873dce8ad3", - "reference": "9614ac4d8061dc257ecc64cba1b140873dce8ad3", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/dc21118016c039a66235cf93d96b435ffb282412", + "reference": "dc21118016c039a66235cf93d96b435ffb282412", "shasum": "" }, "require": { @@ -4493,7 +4737,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.37.0" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.38.1" }, "funding": [ { @@ -4513,20 +4757,20 @@ "type": "tidelift" } ], - "time": "2024-09-10T14:38:51+00:00" + "time": "2026-05-25T15:22:23+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.37.0", + "version": "v1.38.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "3833d7255cc303546435cb650316bff708a1c75c" + "reference": "2d446c214bdbe5b71bde5011b060a05fece3ae6b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c", - "reference": "3833d7255cc303546435cb650316bff708a1c75c", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/2d446c214bdbe5b71bde5011b060a05fece3ae6b", + "reference": "2d446c214bdbe5b71bde5011b060a05fece3ae6b", "shasum": "" }, "require": { @@ -4578,7 +4822,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.37.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.38.0" }, "funding": [ { @@ -4598,20 +4842,20 @@ "type": "tidelift" } ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2026-05-25T13:48:31+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.37.0", + "version": "v1.38.2", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "6a21eb99c6973357967f6ce3708cd55a6bec6315" + "reference": "d3d318bad5e7a1bfbd026009c8bfb8d8f99ae6b6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6a21eb99c6973357967f6ce3708cd55a6bec6315", - "reference": "6a21eb99c6973357967f6ce3708cd55a6bec6315", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/d3d318bad5e7a1bfbd026009c8bfb8d8f99ae6b6", + "reference": "d3d318bad5e7a1bfbd026009c8bfb8d8f99ae6b6", "shasum": "" }, "require": { @@ -4663,7 +4907,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.37.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.38.2" }, "funding": [ { @@ -4683,7 +4927,7 @@ "type": "tidelift" } ], - "time": "2026-04-10T17:25:58+00:00" + "time": "2026-05-27T06:59:30+00:00" }, { "name": "symfony/polyfill-php80", @@ -4771,16 +5015,16 @@ }, { "name": "symfony/polyfill-php84", - "version": "v1.37.0", + "version": "v1.38.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php84.git", - "reference": "88486db2c389b290bf87ff1de7ebc1e13e42bb06" + "reference": "f4e1dfaee5b74aba5964fe1fd4dfc7ba5e3085fa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/88486db2c389b290bf87ff1de7ebc1e13e42bb06", - "reference": "88486db2c389b290bf87ff1de7ebc1e13e42bb06", + "url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/f4e1dfaee5b74aba5964fe1fd4dfc7ba5e3085fa", + "reference": "f4e1dfaee5b74aba5964fe1fd4dfc7ba5e3085fa", "shasum": "" }, "require": { @@ -4827,7 +5071,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php84/tree/v1.37.0" + "source": "https://github.com/symfony/polyfill-php84/tree/v1.38.1" }, "funding": [ { @@ -4847,20 +5091,20 @@ "type": "tidelift" } ], - "time": "2026-04-10T18:47:49+00:00" + "time": "2026-05-26T12:51:13+00:00" }, { "name": "symfony/polyfill-php85", - "version": "v1.37.0", + "version": "v1.38.1", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php85.git", - "reference": "fcfa4973a9917cef23f2e38774da74a2b7d115ee" + "reference": "ba2ba04f3352cfa2dcbbcb90aee13ed967f505b1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php85/zipball/fcfa4973a9917cef23f2e38774da74a2b7d115ee", - "reference": "fcfa4973a9917cef23f2e38774da74a2b7d115ee", + "url": "https://api.github.com/repos/symfony/polyfill-php85/zipball/ba2ba04f3352cfa2dcbbcb90aee13ed967f505b1", + "reference": "ba2ba04f3352cfa2dcbbcb90aee13ed967f505b1", "shasum": "" }, "require": { @@ -4907,7 +5151,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php85/tree/v1.37.0" + "source": "https://github.com/symfony/polyfill-php85/tree/v1.38.1" }, "funding": [ { @@ -4927,20 +5171,20 @@ "type": "tidelift" } ], - "time": "2026-04-26T13:10:57+00:00" + "time": "2026-05-26T02:25:22+00:00" }, { "name": "symfony/polyfill-php86", - "version": "v1.37.0", + "version": "v1.38.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php86.git", - "reference": "33d8fc5a705481e21fe3a81212b26f9b1f61749c" + "reference": "fcec68d64f46dc84e1f6ffcf2c6dda40ff3143ad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php86/zipball/33d8fc5a705481e21fe3a81212b26f9b1f61749c", - "reference": "33d8fc5a705481e21fe3a81212b26f9b1f61749c", + "url": "https://api.github.com/repos/symfony/polyfill-php86/zipball/fcec68d64f46dc84e1f6ffcf2c6dda40ff3143ad", + "reference": "fcec68d64f46dc84e1f6ffcf2c6dda40ff3143ad", "shasum": "" }, "require": { @@ -4987,7 +5231,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php86/tree/v1.37.0" + "source": "https://github.com/symfony/polyfill-php86/tree/v1.38.0" }, "funding": [ { @@ -5007,7 +5251,7 @@ "type": "tidelift" } ], - "time": "2026-04-26T13:13:48+00:00" + "time": "2026-05-25T11:52:35+00:00" }, { "name": "symfony/polyfill-uuid", @@ -5094,20 +5338,20 @@ }, { "name": "symfony/process", - "version": "v8.0.8", + "version": "v8.1.0", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "cb8939aff03470d1a9d1d1b66d08c6fa71b3bbdc" + "reference": "c4a9e58f235a6bf7f97ffbfedae2687353ac79e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/cb8939aff03470d1a9d1d1b66d08c6fa71b3bbdc", - "reference": "cb8939aff03470d1a9d1d1b66d08c6fa71b3bbdc", + "url": "https://api.github.com/repos/symfony/process/zipball/c4a9e58f235a6bf7f97ffbfedae2687353ac79e5", + "reference": "c4a9e58f235a6bf7f97ffbfedae2687353ac79e5", "shasum": "" }, "require": { - "php": ">=8.4" + "php": ">=8.4.1" }, "type": "library", "autoload": { @@ -5135,7 +5379,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v8.0.8" + "source": "https://github.com/symfony/process/tree/v8.1.0" }, "funding": [ { @@ -5155,24 +5399,24 @@ "type": "tidelift" } ], - "time": "2026-03-30T15:14:47+00:00" + "time": "2026-05-29T05:06:50+00:00" }, { "name": "symfony/routing", - "version": "v8.0.9", + "version": "v8.1.0", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "75d1bd8e5da3424e4db2fc3ff0222cb4d0c73038" + "reference": "fe0bfec72c8a806109fb9c3a5f2b898fe0c76eb3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/75d1bd8e5da3424e4db2fc3ff0222cb4d0c73038", - "reference": "75d1bd8e5da3424e4db2fc3ff0222cb4d0c73038", + "url": "https://api.github.com/repos/symfony/routing/zipball/fe0bfec72c8a806109fb9c3a5f2b898fe0c76eb3", + "reference": "fe0bfec72c8a806109fb9c3a5f2b898fe0c76eb3", "shasum": "" }, "require": { - "php": ">=8.4", + "php": ">=8.4.1", "symfony/deprecation-contracts": "^2.5|^3" }, "require-dev": { @@ -5215,7 +5459,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v8.0.9" + "source": "https://github.com/symfony/routing/tree/v8.1.0" }, "funding": [ { @@ -5235,20 +5479,20 @@ "type": "tidelift" } ], - "time": "2026-04-29T15:02:55+00:00" + "time": "2026-05-29T05:06:50+00:00" }, { "name": "symfony/service-contracts", - "version": "v3.6.1", + "version": "v3.7.0", "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43" + "reference": "d25d82433a80eba6aa0e6c24b61d7370d99e444a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/45112560a3ba2d715666a509a0bc9521d10b6c43", - "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/d25d82433a80eba6aa0e6c24b61d7370d99e444a", + "reference": "d25d82433a80eba6aa0e6c24b61d7370d99e444a", "shasum": "" }, "require": { @@ -5266,7 +5510,7 @@ "name": "symfony/contracts" }, "branch-alias": { - "dev-main": "3.6-dev" + "dev-main": "3.7-dev" } }, "autoload": { @@ -5302,7 +5546,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.6.1" + "source": "https://github.com/symfony/service-contracts/tree/v3.7.0" }, "funding": [ { @@ -5322,24 +5566,24 @@ "type": "tidelift" } ], - "time": "2025-07-15T11:30:57+00:00" + "time": "2026-03-28T09:44:51+00:00" }, { "name": "symfony/string", - "version": "v8.0.8", + "version": "v8.1.0", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "ae9488f874d7603f9d2dfbf120203882b645d963" + "reference": "afd5944f4005862d961efb85c8bbd5c523c4e3c9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/ae9488f874d7603f9d2dfbf120203882b645d963", - "reference": "ae9488f874d7603f9d2dfbf120203882b645d963", + "url": "https://api.github.com/repos/symfony/string/zipball/afd5944f4005862d961efb85c8bbd5c523c4e3c9", + "reference": "afd5944f4005862d961efb85c8bbd5c523c4e3c9", "shasum": "" }, "require": { - "php": ">=8.4", + "php": ">=8.4.1", "symfony/polyfill-ctype": "^1.8", "symfony/polyfill-intl-grapheme": "^1.33", "symfony/polyfill-intl-normalizer": "^1.0", @@ -5392,7 +5636,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v8.0.8" + "source": "https://github.com/symfony/string/tree/v8.1.0" }, "funding": [ { @@ -5412,31 +5656,38 @@ "type": "tidelift" } ], - "time": "2026-03-30T15:14:47+00:00" + "time": "2026-05-29T05:06:50+00:00" }, { "name": "symfony/translation", - "version": "v8.0.8", + "version": "v7.4.10", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "27c03ae3940de24ba2f71cfdbac824f2aa1fdf2f" + "reference": "ada7578c30dd5feaa8259cff3e885069ea81ddde" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/27c03ae3940de24ba2f71cfdbac824f2aa1fdf2f", - "reference": "27c03ae3940de24ba2f71cfdbac824f2aa1fdf2f", + "url": "https://api.github.com/repos/symfony/translation/zipball/ada7578c30dd5feaa8259cff3e885069ea81ddde", + "reference": "ada7578c30dd5feaa8259cff3e885069ea81ddde", "shasum": "" }, "require": { - "php": ">=8.4", - "symfony/polyfill-mbstring": "^1.0", - "symfony/translation-contracts": "^3.6.1" + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/translation-contracts": "^2.5.3|^3.3" }, "conflict": { "nikic/php-parser": "<5.0", + "symfony/config": "<6.4", + "symfony/console": "<6.4", + "symfony/dependency-injection": "<6.4", "symfony/http-client-contracts": "<2.5", - "symfony/service-contracts": "<2.5" + "symfony/http-kernel": "<6.4", + "symfony/service-contracts": "<2.5", + "symfony/twig-bundle": "<6.4", + "symfony/yaml": "<6.4" }, "provide": { "symfony/translation-implementation": "2.3|3.0" @@ -5444,17 +5695,17 @@ "require-dev": { "nikic/php-parser": "^5.0", "psr/log": "^1|^2|^3", - "symfony/config": "^7.4|^8.0", - "symfony/console": "^7.4|^8.0", - "symfony/dependency-injection": "^7.4|^8.0", - "symfony/finder": "^7.4|^8.0", + "symfony/config": "^6.4|^7.0|^8.0", + "symfony/console": "^6.4|^7.0|^8.0", + "symfony/dependency-injection": "^6.4|^7.0|^8.0", + "symfony/finder": "^6.4|^7.0|^8.0", "symfony/http-client-contracts": "^2.5|^3.0", - "symfony/http-kernel": "^7.4|^8.0", - "symfony/intl": "^7.4|^8.0", + "symfony/http-kernel": "^6.4|^7.0|^8.0", + "symfony/intl": "^6.4|^7.0|^8.0", "symfony/polyfill-intl-icu": "^1.21", - "symfony/routing": "^7.4|^8.0", + "symfony/routing": "^6.4|^7.0|^8.0", "symfony/service-contracts": "^2.5|^3", - "symfony/yaml": "^7.4|^8.0" + "symfony/yaml": "^6.4|^7.0|^8.0" }, "type": "library", "autoload": { @@ -5485,7 +5736,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v8.0.8" + "source": "https://github.com/symfony/translation/tree/v7.4.10" }, "funding": [ { @@ -5505,20 +5756,20 @@ "type": "tidelift" } ], - "time": "2026-03-30T15:14:47+00:00" + "time": "2026-05-06T11:19:24+00:00" }, { "name": "symfony/translation-contracts", - "version": "v3.6.1", + "version": "v3.7.0", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "65a8bc82080447fae78373aa10f8d13b38338977" + "reference": "0ab302977a952b42fd51475c4ebac81f8da0a95d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/65a8bc82080447fae78373aa10f8d13b38338977", - "reference": "65a8bc82080447fae78373aa10f8d13b38338977", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/0ab302977a952b42fd51475c4ebac81f8da0a95d", + "reference": "0ab302977a952b42fd51475c4ebac81f8da0a95d", "shasum": "" }, "require": { @@ -5531,7 +5782,7 @@ "name": "symfony/contracts" }, "branch-alias": { - "dev-main": "3.6-dev" + "dev-main": "3.7-dev" } }, "autoload": { @@ -5567,7 +5818,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v3.6.1" + "source": "https://github.com/symfony/translation-contracts/tree/v3.7.0" }, "funding": [ { @@ -5587,24 +5838,24 @@ "type": "tidelift" } ], - "time": "2025-07-15T13:41:35+00:00" + "time": "2026-01-05T13:30:16+00:00" }, { "name": "symfony/uid", - "version": "v8.0.9", + "version": "v8.1.0", "source": { "type": "git", "url": "https://github.com/symfony/uid.git", - "reference": "4d9d6510bbe88ebb4608b7200d18606cdf80825c" + "reference": "7393f157a55f7e70a4de0334435c55a5a8fe749a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/uid/zipball/4d9d6510bbe88ebb4608b7200d18606cdf80825c", - "reference": "4d9d6510bbe88ebb4608b7200d18606cdf80825c", + "url": "https://api.github.com/repos/symfony/uid/zipball/7393f157a55f7e70a4de0334435c55a5a8fe749a", + "reference": "7393f157a55f7e70a4de0334435c55a5a8fe749a", "shasum": "" }, "require": { - "php": ">=8.4", + "php": ">=8.4.1", "symfony/polyfill-uuid": "^1.15" }, "require-dev": { @@ -5645,7 +5896,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/uid/tree/v8.0.9" + "source": "https://github.com/symfony/uid/tree/v8.1.0" }, "funding": [ { @@ -5665,24 +5916,24 @@ "type": "tidelift" } ], - "time": "2026-04-30T16:10:06+00:00" + "time": "2026-05-29T05:06:50+00:00" }, { "name": "symfony/var-dumper", - "version": "v8.0.8", + "version": "v8.1.0", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "cfb7badd53bf4177f6e9416cfbbccc13c0e773a1" + "reference": "c2c4df1d21477cc21c9f6dc1b14d07c3abc4963e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/cfb7badd53bf4177f6e9416cfbbccc13c0e773a1", - "reference": "cfb7badd53bf4177f6e9416cfbbccc13c0e773a1", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/c2c4df1d21477cc21c9f6dc1b14d07c3abc4963e", + "reference": "c2c4df1d21477cc21c9f6dc1b14d07c3abc4963e", "shasum": "" }, "require": { - "php": ">=8.4", + "php": ">=8.4.1", "symfony/polyfill-mbstring": "^1.0" }, "conflict": { @@ -5732,7 +5983,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v8.0.8" + "source": "https://github.com/symfony/var-dumper/tree/v8.1.0" }, "funding": [ { @@ -5752,7 +6003,7 @@ "type": "tidelift" } ], - "time": "2026-03-31T07:15:36+00:00" + "time": "2026-05-29T05:06:50+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", @@ -5970,45 +6221,60 @@ ], "packages-dev": [ { - "name": "fakerphp/faker", - "version": "v1.24.1", + "name": "behat/behat", + "version": "v3.31.0", "source": { "type": "git", - "url": "https://github.com/FakerPHP/Faker.git", - "reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5" + "url": "https://github.com/Behat/Behat.git", + "reference": "7fbdcda54ed653f032dd4fe1da5b2bb1546b24d6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5", - "reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5", + "url": "https://api.github.com/repos/Behat/Behat/zipball/7fbdcda54ed653f032dd4fe1da5b2bb1546b24d6", + "reference": "7fbdcda54ed653f032dd4fe1da5b2bb1546b24d6", "shasum": "" }, "require": { - "php": "^7.4 || ^8.0", + "behat/gherkin": "^4.15.0", + "composer-runtime-api": "^2.2", + "composer/xdebug-handler": "^1.4 || ^2.0 || ^3.0", + "ext-mbstring": "*", + "nikic/php-parser": "^4.19.2 || ^5.2", + "php": ">=8.2 <8.6", "psr/container": "^1.0 || ^2.0", - "symfony/deprecation-contracts": "^2.2 || ^3.0" - }, - "conflict": { - "fzaninotto/faker": "*" + "symfony/config": "^5.4 || ^6.4 || ^7.0", + "symfony/console": "^5.4.9 || ^6.4 || ^7.0", + "symfony/dependency-injection": "^5.4 || ^6.4 || ^7.0", + "symfony/event-dispatcher": "^5.4 || ^6.4 || ^7.0", + "symfony/translation": "^5.4 || ^6.4 || ^7.0", + "symfony/yaml": "^5.4 || ^6.4 || ^7.0" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.4.1", - "doctrine/persistence": "^1.3 || ^2.0", - "ext-intl": "*", - "phpunit/phpunit": "^9.5.26", - "symfony/phpunit-bridge": "^5.4.16" + "opis/json-schema": "^2.5", + "php-cs-fixer/shim": "^3.89", + "phpstan/phpstan": "2.1.46", + "phpunit/phpunit": "^9.6", + "rector/rector": "2.3.9", + "sebastian/diff": "^4.0", + "symfony/filesystem": "^5.4 || ^6.4 || ^7.0", + "symfony/polyfill-php84": "^1.31", + "symfony/process": "^5.4 || ^6.4 || ^7.0" }, "suggest": { - "doctrine/orm": "Required to use Faker\\ORM\\Doctrine", - "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." + "ext-dom": "Needed to output test results in JUnit format." }, + "bin": [ + "bin/behat" + ], "type": "library", "autoload": { "psr-4": { - "Faker\\": "src/Faker/" + "Behat\\Hook\\": "src/Behat/Hook/", + "Behat\\Step\\": "src/Behat/Step/", + "Behat\\Behat\\": "src/Behat/Behat/", + "Behat\\Config\\": "src/Behat/Config/", + "Behat\\Testwork\\": "src/Behat/Testwork/", + "Behat\\Transformation\\": "src/Behat/Transformation/" } }, "notification-url": "https://packagist.org/downloads/", @@ -6017,57 +6283,87 @@ ], "authors": [ { - "name": "François Zaninotto" + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" } ], - "description": "Faker is a PHP library that generates fake data for you.", + "description": "Scenario-oriented BDD framework for PHP", + "homepage": "https://behat.org/", "keywords": [ - "data", - "faker", - "fixtures" + "Agile", + "BDD", + "ScenarioBDD", + "Scrum", + "StoryBDD", + "User story", + "business", + "development", + "documentation", + "examples", + "symfony", + "testing" ], "support": { - "issues": "https://github.com/FakerPHP/Faker/issues", - "source": "https://github.com/FakerPHP/Faker/tree/v1.24.1" + "issues": "https://github.com/Behat/Behat/issues", + "source": "https://github.com/Behat/Behat/tree/v3.31.0" }, - "time": "2024-11-21T13:46:39+00:00" + "funding": [ + { + "url": "https://github.com/acoulton", + "type": "github" + }, + { + "url": "https://github.com/carlos-granados", + "type": "github" + }, + { + "url": "https://github.com/stof", + "type": "github" + } + ], + "time": "2026-04-19T21:04:32+00:00" }, { - "name": "filp/whoops", - "version": "2.18.4", + "name": "behat/gherkin", + "version": "v4.17.0", "source": { "type": "git", - "url": "https://github.com/filp/whoops.git", - "reference": "d2102955e48b9fd9ab24280a7ad12ed552752c4d" + "url": "https://github.com/Behat/Gherkin.git", + "reference": "5c8b3149fac39b5a79942b64eeec59a5ee4001c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/d2102955e48b9fd9ab24280a7ad12ed552752c4d", - "reference": "d2102955e48b9fd9ab24280a7ad12ed552752c4d", + "url": "https://api.github.com/repos/Behat/Gherkin/zipball/5c8b3149fac39b5a79942b64eeec59a5ee4001c0", + "reference": "5c8b3149fac39b5a79942b64eeec59a5ee4001c0", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0", - "psr/log": "^1.0.1 || ^2.0 || ^3.0" + "composer-runtime-api": "^2.2", + "php": ">=8.1 <8.6" }, "require-dev": { - "mockery/mockery": "^1.0", - "phpunit/phpunit": "^7.5.20 || ^8.5.8 || ^9.3.3", - "symfony/var-dumper": "^4.0 || ^5.0" + "cucumber/gherkin-monorepo": "dev-gherkin-v39.1.0", + "friendsofphp/php-cs-fixer": "^3.77", + "mikey179/vfsstream": "^1.6", + "phpstan/extension-installer": "^1", + "phpstan/phpstan": "^2", + "phpstan/phpstan-phpunit": "^2", + "phpunit/phpunit": "^10.5", + "symfony/yaml": "^5.4 || ^6.4 || ^7.0" }, "suggest": { - "symfony/var-dumper": "Pretty print complex values better with var-dumper available", - "whoops/soap": "Formats errors as SOAP responses" + "symfony/yaml": "If you want to parse features, represented in YAML files" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.7-dev" + "dev-master": "4.x-dev" } }, "autoload": { "psr-4": { - "Whoops\\": "src/Whoops/" + "Behat\\Gherkin\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -6076,116 +6372,149 @@ ], "authors": [ { - "name": "Filipe Dobreira", - "homepage": "https://github.com/filp", - "role": "Developer" + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "https://everzet.com" } ], - "description": "php error handling for cool kids", - "homepage": "https://filp.github.io/whoops/", + "description": "Gherkin DSL parser for PHP", + "homepage": "https://behat.org/", "keywords": [ - "error", - "exception", - "handling", - "library", - "throwable", - "whoops" + "BDD", + "Behat", + "Cucumber", + "DSL", + "gherkin", + "parser" ], "support": { - "issues": "https://github.com/filp/whoops/issues", - "source": "https://github.com/filp/whoops/tree/2.18.4" + "issues": "https://github.com/Behat/Gherkin/issues", + "source": "https://github.com/Behat/Gherkin/tree/v4.17.0" }, "funding": [ { - "url": "https://github.com/denis-sokolov", + "url": "https://github.com/acoulton", + "type": "github" + }, + { + "url": "https://github.com/carlos-granados", + "type": "github" + }, + { + "url": "https://github.com/stof", "type": "github" } ], - "time": "2025-08-08T12:00:00+00:00" + "time": "2026-05-18T09:33:47+00:00" }, { - "name": "hamcrest/hamcrest-php", - "version": "v2.1.1", + "name": "behat/mink", + "version": "v1.13.0", "source": { "type": "git", - "url": "https://github.com/hamcrest/hamcrest-php.git", - "reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487" + "url": "https://github.com/minkphp/Mink.git", + "reference": "9b08f62937c173affe070c04bb072d7ea1db1be5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487", - "reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487", + "url": "https://api.github.com/repos/minkphp/Mink/zipball/9b08f62937c173affe070c04bb072d7ea1db1be5", + "reference": "9b08f62937c173affe070c04bb072d7ea1db1be5", "shasum": "" }, "require": { - "php": "^7.4|^8.0" - }, - "replace": { - "cordoval/hamcrest-php": "*", - "davedevelopment/hamcrest-php": "*", - "kodova/hamcrest-php": "*" + "php": ">=7.2", + "symfony/css-selector": "^4.4 || ^5.0 || ^6.0 || ^7.0 || ^8.0" }, "require-dev": { - "phpunit/php-file-iterator": "^1.4 || ^2.0 || ^3.0", - "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0 || ^8.0 || ^9.0" + "jetbrains/phpstorm-attributes": "*", + "phpstan/phpstan": "^1.12.32", + "phpstan/phpstan-phpunit": "^1.3", + "phpunit/phpunit": "^8.5.22 || ^9.5.11", + "symfony/error-handler": "^4.4 || ^5.0 || ^6.0 || ^7.0 || ^8.0", + "symfony/phpunit-bridge": "^5.4 || ^6.0 || ^7.0 || ^8.0" + }, + "suggest": { + "behat/mink-browserkit-driver": "fast headless driver for any app without JS emulation", + "behat/mink-selenium2-driver": "slow, but JS-enabled driver for any app (requires Selenium2)", + "behat/mink-zombie-driver": "fast and JS-enabled headless driver for any app (requires node.js)", + "dmore/chrome-mink-driver": "fast and JS-enabled driver for any app (requires chromium or google chrome)" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1-dev" + "dev-master": "1.x-dev" } }, "autoload": { - "classmap": [ - "hamcrest" - ] + "psr-4": { + "Behat\\Mink\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "description": "This is the PHP port of Hamcrest Matchers", + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + } + ], + "description": "Browser controller/emulator abstraction for PHP", + "homepage": "https://mink.behat.org/", "keywords": [ - "test" + "browser", + "testing", + "web" ], "support": { - "issues": "https://github.com/hamcrest/hamcrest-php/issues", - "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.1.1" + "issues": "https://github.com/minkphp/Mink/issues", + "source": "https://github.com/minkphp/Mink/tree/v1.13.0" }, - "time": "2025-04-30T06:54:44+00:00" + "time": "2025-11-22T12:18:15+00:00" }, { - "name": "laravel/agent-detector", - "version": "v2.0.2", + "name": "behat/mink-browserkit-driver", + "version": "v2.3.0", "source": { "type": "git", - "url": "https://github.com/laravel/agent-detector.git", - "reference": "90694b9256099591cf9e55d08c18ba7a00bf099f" + "url": "https://github.com/minkphp/MinkBrowserKitDriver.git", + "reference": "d361516cba6e684bdc4518b9c044edc77f249e36" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/agent-detector/zipball/90694b9256099591cf9e55d08c18ba7a00bf099f", - "reference": "90694b9256099591cf9e55d08c18ba7a00bf099f", + "url": "https://api.github.com/repos/minkphp/MinkBrowserKitDriver/zipball/d361516cba6e684bdc4518b9c044edc77f249e36", + "reference": "d361516cba6e684bdc4518b9c044edc77f249e36", "shasum": "" }, "require": { - "php": "^8.2.0" + "behat/mink": "^1.11.0@dev", + "ext-dom": "*", + "php": ">=7.2", + "symfony/browser-kit": "^4.4 || ^5.0 || ^6.0 || ^7.0 || ^8.0", + "symfony/dom-crawler": "^4.4 || ^5.0 || ^6.0 || ^7.0 || ^8.0" }, "require-dev": { - "laravel/pint": "^1.24.0", - "pestphp/pest": "^3.8.5|^4.1.0", - "pestphp/pest-plugin-type-coverage": "^3.0|^4.0.2", - "phpstan/phpstan": "^2.1.26", - "rector/rector": "^2.1.7", - "symfony/var-dumper": "^7.3.3" + "mink/driver-testsuite": "dev-master", + "phpstan/phpstan": "^1.10", + "phpstan/phpstan-phpunit": "^1.3", + "phpunit/phpunit": "^8.5 || ^9.5", + "symfony/error-handler": "^4.4 || ^5.0 || ^6.0 || ^7.0 || ^8.0", + "symfony/http-client": "^4.4 || ^5.0 || ^6.0 || ^7.0 || ^8.0", + "symfony/http-kernel": "^4.4 || ^5.0 || ^6.0 || ^7.0 || ^8.0", + "symfony/mime": "^4.4 || ^5.0 || ^6.0 || ^7.0 || ^8.0", + "yoast/phpunit-polyfills": "^1.0" + }, + "type": "mink-driver", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } }, - "type": "library", "autoload": { - "files": [ - "src/functions.php" - ], "psr-4": { - "Laravel\\AgentDetector\\": "src/" + "Behat\\Mink\\Driver\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -6194,77 +6523,61 @@ ], "authors": [ { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" } ], - "description": "Detect if code is running in an AI agent or automated development environment", - "homepage": "https://github.com/laravel/agent-detector", + "description": "Symfony2 BrowserKit driver for Mink framework", + "homepage": "https://mink.behat.org/", "keywords": [ - "Agent", - "ai", - "automation", - "claude", - "cursor", - "detection", - "devin", - "php" + "Mink", + "Symfony2", + "browser", + "testing" ], "support": { - "issues": "https://github.com/laravel/agent-detector/issues", - "source": "https://github.com/laravel/agent-detector" + "issues": "https://github.com/minkphp/MinkBrowserKitDriver/issues", + "source": "https://github.com/minkphp/MinkBrowserKitDriver/tree/v2.3.0" }, - "time": "2026-04-29T18:32:34+00:00" + "time": "2025-11-22T12:42:18+00:00" }, { - "name": "laravel/pail", - "version": "v1.2.6", + "name": "behat/mink-selenium2-driver", + "version": "v1.7.0", "source": { "type": "git", - "url": "https://github.com/laravel/pail.git", - "reference": "aa71a01c309e7f66bc2ec4fb1a59291b82eb4abf" + "url": "https://github.com/minkphp/MinkSelenium2Driver.git", + "reference": "4ca4083f305de7dff4434ac402dc4e3f39c0866a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/pail/zipball/aa71a01c309e7f66bc2ec4fb1a59291b82eb4abf", - "reference": "aa71a01c309e7f66bc2ec4fb1a59291b82eb4abf", + "url": "https://api.github.com/repos/minkphp/MinkSelenium2Driver/zipball/4ca4083f305de7dff4434ac402dc4e3f39c0866a", + "reference": "4ca4083f305de7dff4434ac402dc4e3f39c0866a", "shasum": "" }, "require": { - "ext-mbstring": "*", - "illuminate/console": "^10.24|^11.0|^12.0|^13.0", - "illuminate/contracts": "^10.24|^11.0|^12.0|^13.0", - "illuminate/log": "^10.24|^11.0|^12.0|^13.0", - "illuminate/process": "^10.24|^11.0|^12.0|^13.0", - "illuminate/support": "^10.24|^11.0|^12.0|^13.0", - "nunomaduro/termwind": "^1.15|^2.0", - "php": "^8.2", - "symfony/console": "^6.0|^7.0|^8.0" + "behat/mink": "^1.11@dev", + "ext-json": "*", + "instaclick/php-webdriver": "^1.4.14", + "php": ">=7.2" }, "require-dev": { - "laravel/framework": "^10.24|^11.0|^12.0|^13.0", - "laravel/pint": "^1.13", - "orchestra/testbench-core": "^8.13|^9.17|^10.8|^11.0", - "pestphp/pest": "^2.20|^3.0|^4.0", - "pestphp/pest-plugin-type-coverage": "^2.3|^3.0|^4.0", - "phpstan/phpstan": "^1.12.27", - "symfony/var-dumper": "^6.3|^7.0|^8.0", - "symfony/yaml": "^6.3|^7.0|^8.0" + "mink/driver-testsuite": "dev-master", + "phpstan/phpstan": "^1.10", + "phpstan/phpstan-phpunit": "^1.3", + "phpunit/phpunit": "^8.5.22 || ^9.5.11", + "symfony/error-handler": "^4.4 || ^5.0 || ^6.0 || ^7.0" }, - "type": "library", + "type": "mink-driver", "extra": { - "laravel": { - "providers": [ - "Laravel\\Pail\\PailServiceProvider" - ] - }, "branch-alias": { - "dev-main": "1.x-dev" + "dev-master": "1.x-dev" } }, "autoload": { "psr-4": { - "Laravel\\Pail\\": "src/" + "Behat\\Mink\\Driver\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -6273,83 +6586,72 @@ ], "authors": [ { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" + "name": "Pete Otaqui", + "email": "pete@otaqui.com", + "homepage": "https://github.com/pete-otaqui" }, { - "name": "Nuno Maduro", - "email": "enunomaduro@gmail.com" + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" } ], - "description": "Easily delve into your Laravel application's log files directly from the command line.", - "homepage": "https://github.com/laravel/pail", + "description": "Selenium2 (WebDriver) driver for Mink framework", + "homepage": "https://mink.behat.org/", "keywords": [ - "dev", - "laravel", - "logs", - "php", - "tail" + "ajax", + "browser", + "javascript", + "selenium", + "testing", + "webdriver" ], "support": { - "issues": "https://github.com/laravel/pail/issues", - "source": "https://github.com/laravel/pail" + "issues": "https://github.com/minkphp/MinkSelenium2Driver/issues", + "source": "https://github.com/minkphp/MinkSelenium2Driver/tree/v1.7.0" }, - "time": "2026-02-09T13:44:54+00:00" + "time": "2023-12-09T11:58:45+00:00" }, { - "name": "laravel/pao", - "version": "v1.0.6", + "name": "composer/pcre", + "version": "3.4.0", "source": { "type": "git", - "url": "https://github.com/laravel/pao.git", - "reference": "02f62a64c2b60af44a418ee490fee193590d8269" + "url": "https://github.com/composer/pcre.git", + "reference": "d5a341b3fb61f3001970940afb1d332968a183ed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/pao/zipball/02f62a64c2b60af44a418ee490fee193590d8269", - "reference": "02f62a64c2b60af44a418ee490fee193590d8269", + "url": "https://api.github.com/repos/composer/pcre/zipball/d5a341b3fb61f3001970940afb1d332968a183ed", + "reference": "d5a341b3fb61f3001970940afb1d332968a183ed", "shasum": "" }, "require": { - "laravel/agent-detector": "^2.0.0", - "php": "^8.3" + "php": "^7.4 || ^8.0" }, "conflict": { - "laravel/framework": "<12.0.0", - "nunomaduro/collision": "<8.9.3", - "pestphp/pest": "<4.6.3 || >=6.0.0", - "phpunit/phpunit": "<12.5.23 || >=13.0.0 <13.1.7 || >=14.0.0" + "phpstan/phpstan": "<2.2.2" }, "require-dev": { - "brianium/paratest": "^7.20.0", - "laravel/pint": "^1.29.1", - "orchestra/testbench": "^10.11.0 || ^11.1.0", - "pestphp/pest": "^4.6.3 || ^5.0.0", - "pestphp/pest-plugin-type-coverage": "^4.0.4 || ^5.0.0", - "phpstan/phpstan": "^2.1.51", - "rector/rector": "^2.4.2", - "symfony/process": "^7.4.8 || ^8.1.0", - "symfony/var-dumper": "^7.4.8 || ^8.0.8" + "phpstan/phpstan": "^2", + "phpstan/phpstan-deprecation-rules": "^2", + "phpstan/phpstan-strict-rules": "^2", + "phpunit/phpunit": "^9" }, "type": "library", "extra": { - "pest": { - "plugins": [ - "Laravel\\Pao\\Drivers\\Pest\\Plugin" + "phpstan": { + "includes": [ + "extension.neon" ] }, - "laravel": { - "providers": [ - "Laravel\\Pao\\Laravel\\ServiceProvider" - ] + "branch-alias": { + "dev-main": "3.x-dev" } }, "autoload": { - "files": [ - "src/Autoload.php" - ], "psr-4": { - "Laravel\\Pao\\": "src/" + "Composer\\Pcre\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -6358,68 +6660,62 @@ ], "authors": [ { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" } ], - "description": "Agent-optimized output for PHP testing tools", + "description": "PCRE wrapping library that offers type-safe preg_* replacements.", "keywords": [ - "Agent", - "PHPStan", - "ai", - "dev", - "paratest", - "pest", - "php", - "phpunit", - "testing" + "PCRE", + "preg", + "regex", + "regular expression" ], "support": { - "issues": "https://github.com/laravel/pao/issues", - "source": "https://github.com/laravel/pao" + "issues": "https://github.com/composer/pcre/issues", + "source": "https://github.com/composer/pcre/tree/3.4.0" }, - "time": "2026-04-27T22:37:26+00:00" + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + } + ], + "time": "2026-06-07T11:47:49+00:00" }, { - "name": "laravel/pint", - "version": "v1.29.1", + "name": "composer/xdebug-handler", + "version": "3.0.5", "source": { "type": "git", - "url": "https://github.com/laravel/pint.git", - "reference": "0770e9b7fafd50d4586881d456d6eb41c9247a80" + "url": "https://github.com/composer/xdebug-handler.git", + "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/pint/zipball/0770e9b7fafd50d4586881d456d6eb41c9247a80", - "reference": "0770e9b7fafd50d4586881d456d6eb41c9247a80", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/6c1925561632e83d60a44492e0b344cf48ab85ef", + "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef", "shasum": "" }, "require": { - "ext-json": "*", - "ext-mbstring": "*", - "ext-tokenizer": "*", - "ext-xml": "*", - "php": "^8.2.0" + "composer/pcre": "^1 || ^2 || ^3", + "php": "^7.2.5 || ^8.0", + "psr/log": "^1 || ^2 || ^3" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^3.95.1", - "illuminate/view": "^12.56.0", - "larastan/larastan": "^3.9.6", - "laravel-zero/framework": "^12.1.0", - "mockery/mockery": "^1.6.12", - "nunomaduro/termwind": "^2.4.0", - "pestphp/pest": "^3.8.6", - "shipfastlabs/agent-detector": "^1.1.3" + "phpstan/phpstan": "^1.0", + "phpstan/phpstan-strict-rules": "^1.1", + "phpunit/phpunit": "^8.5 || ^9.6 || ^10.5" }, - "bin": [ - "builds/pint" - ], - "type": "project", + "type": "library", "autoload": { "psr-4": { - "App\\": "app/", - "Database\\Seeders\\": "database/seeders/", - "Database\\Factories\\": "database/factories/" + "Composer\\XdebugHandler\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -6428,66 +6724,135 @@ ], "authors": [ { - "name": "Nuno Maduro", - "email": "enunomaduro@gmail.com" + "name": "John Stevenson", + "email": "john-stevenson@blueyonder.co.uk" } ], - "description": "An opinionated code formatter for PHP.", - "homepage": "https://laravel.com", + "description": "Restarts a process without Xdebug.", "keywords": [ - "dev", - "format", - "formatter", - "lint", - "linter", - "php" + "Xdebug", + "performance" ], "support": { - "issues": "https://github.com/laravel/pint/issues", - "source": "https://github.com/laravel/pint" + "irc": "ircs://irc.libera.chat:6697/composer", + "issues": "https://github.com/composer/xdebug-handler/issues", + "source": "https://github.com/composer/xdebug-handler/tree/3.0.5" }, - "time": "2026-04-20T15:26:14+00:00" + "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": "2024-05-06T16:37:16+00:00" }, { - "name": "laravel/sail", - "version": "v1.58.0", + "name": "fakerphp/faker", + "version": "v1.24.1", "source": { "type": "git", - "url": "https://github.com/laravel/sail.git", - "reference": "2e5e968138ca52ed87d712449697a8364d73b466" + "url": "https://github.com/FakerPHP/Faker.git", + "reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/sail/zipball/2e5e968138ca52ed87d712449697a8364d73b466", - "reference": "2e5e968138ca52ed87d712449697a8364d73b466", + "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5", + "reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5", "shasum": "" }, "require": { - "illuminate/console": "^9.52.16|^10.0|^11.0|^12.0|^13.0", - "illuminate/contracts": "^9.52.16|^10.0|^11.0|^12.0|^13.0", - "illuminate/support": "^9.52.16|^10.0|^11.0|^12.0|^13.0", - "php": "^8.0", - "symfony/console": "^6.0|^7.0|^8.0", - "symfony/yaml": "^6.0|^7.0|^8.0" + "php": "^7.4 || ^8.0", + "psr/container": "^1.0 || ^2.0", + "symfony/deprecation-contracts": "^2.2 || ^3.0" + }, + "conflict": { + "fzaninotto/faker": "*" }, "require-dev": { - "orchestra/testbench": "^7.0|^8.0|^9.0|^10.0|^11.0", - "phpstan/phpstan": "^2.0" + "bamarni/composer-bin-plugin": "^1.4.1", + "doctrine/persistence": "^1.3 || ^2.0", + "ext-intl": "*", + "phpunit/phpunit": "^9.5.26", + "symfony/phpunit-bridge": "^5.4.16" }, - "bin": [ - "bin/sail" + "suggest": { + "doctrine/orm": "Required to use Faker\\ORM\\Doctrine", + "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", + "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.24.1" + }, + "time": "2024-11-21T13:46:39+00:00" + }, + { + "name": "filp/whoops", + "version": "2.18.4", + "source": { + "type": "git", + "url": "https://github.com/filp/whoops.git", + "reference": "d2102955e48b9fd9ab24280a7ad12ed552752c4d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/filp/whoops/zipball/d2102955e48b9fd9ab24280a7ad12ed552752c4d", + "reference": "d2102955e48b9fd9ab24280a7ad12ed552752c4d", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0", + "psr/log": "^1.0.1 || ^2.0 || ^3.0" + }, + "require-dev": { + "mockery/mockery": "^1.0", + "phpunit/phpunit": "^7.5.20 || ^8.5.8 || ^9.3.3", + "symfony/var-dumper": "^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": { - "laravel": { - "providers": [ - "Laravel\\Sail\\SailServiceProvider" - ] + "branch-alias": { + "dev-master": "2.7-dev" } }, "autoload": { "psr-4": { - "Laravel\\Sail\\": "src/" + "Whoops\\": "src/Whoops/" } }, "notification-url": "https://packagist.org/downloads/", @@ -6496,286 +6861,1177 @@ ], "authors": [ { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" + "name": "Filipe Dobreira", + "homepage": "https://github.com/filp", + "role": "Developer" } ], - "description": "Docker files for running a basic Laravel application.", + "description": "php error handling for cool kids", + "homepage": "https://filp.github.io/whoops/", "keywords": [ - "docker", - "laravel" + "error", + "exception", + "handling", + "library", + "throwable", + "whoops" ], "support": { - "issues": "https://github.com/laravel/sail/issues", - "source": "https://github.com/laravel/sail" + "issues": "https://github.com/filp/whoops/issues", + "source": "https://github.com/filp/whoops/tree/2.18.4" }, - "time": "2026-04-27T13:38:34+00:00" + "funding": [ + { + "url": "https://github.com/denis-sokolov", + "type": "github" + } + ], + "time": "2025-08-08T12:00:00+00:00" }, { - "name": "mockery/mockery", - "version": "1.6.12", + "name": "friends-of-behat/mink-extension", + "version": "v2.7.5", "source": { "type": "git", - "url": "https://github.com/mockery/mockery.git", - "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699" + "url": "https://github.com/FriendsOfBehat/MinkExtension.git", + "reference": "854336030e11983f580f49faad1b49a1238f9846" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mockery/mockery/zipball/1f4efdd7d3beafe9807b08156dfcb176d18f1699", - "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699", + "url": "https://api.github.com/repos/FriendsOfBehat/MinkExtension/zipball/854336030e11983f580f49faad1b49a1238f9846", + "reference": "854336030e11983f580f49faad1b49a1238f9846", "shasum": "" }, "require": { - "hamcrest/hamcrest-php": "^2.0.1", - "lib-pcre": ">=7.0", - "php": ">=7.3" + "behat/behat": "^3.0.5", + "behat/mink": "^1.5", + "php": ">=7.4", + "symfony/config": "^4.4 || ^5.0 || ^6.0 || ^7.0" }, - "conflict": { - "phpunit/phpunit": "<8.0" + "replace": { + "behat/mink-extension": "self.version" }, "require-dev": { - "phpunit/phpunit": "^8.5 || ^9.6.17", - "symplify/easy-coding-standard": "^12.1.14" + "behat/mink-goutte-driver": "^1.1 || ^2.0", + "phpspec/phpspec": "^6.0 || ^7.0 || 7.1.x-dev" + }, + "type": "behat-extension", + "extra": { + "branch-alias": { + "dev-master": "2.1.x-dev" + } }, - "type": "library", "autoload": { - "files": [ - "library/helpers.php", - "library/Mockery.php" - ], - "psr-4": { - "Mockery\\": "library/Mockery" + "psr-0": { + "Behat\\MinkExtension": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Pádraic Brady", - "email": "padraic.brady@gmail.com", - "homepage": "https://github.com/padraic", - "role": "Author" - }, - { - "name": "Dave Marshall", - "email": "dave.marshall@atstsolutions.co.uk", - "homepage": "https://davedevelopment.co.uk", - "role": "Developer" + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com" }, { - "name": "Nathanael Esayeas", - "email": "nathanael.esayeas@protonmail.com", - "homepage": "https://github.com/ghostwriter", - "role": "Lead Developer" + "name": "Christophe Coevoet", + "email": "stof@notk.org" } ], - "description": "Mockery is a simple yet flexible PHP mock object framework", - "homepage": "https://github.com/mockery/mockery", + "description": "Mink extension for Behat", + "homepage": "http://extensions.behat.org/mink", "keywords": [ - "BDD", - "TDD", - "library", - "mock", - "mock objects", - "mockery", - "stub", + "browser", + "gui", "test", - "test double", - "testing" + "web" ], "support": { - "docs": "https://docs.mockery.io/", - "issues": "https://github.com/mockery/mockery/issues", - "rss": "https://github.com/mockery/mockery/releases.atom", - "security": "https://github.com/mockery/mockery/security/advisories", - "source": "https://github.com/mockery/mockery" + "issues": "https://github.com/FriendsOfBehat/MinkExtension/issues", + "source": "https://github.com/FriendsOfBehat/MinkExtension/tree/v2.7.5" }, - "time": "2024-05-16T03:13:13+00:00" + "time": "2024-01-11T09:12:02+00:00" }, { - "name": "myclabs/deep-copy", - "version": "1.13.4", + "name": "hamcrest/hamcrest-php", + "version": "v2.1.1", "source": { "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a" + "url": "https://github.com/hamcrest/hamcrest-php.git", + "reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487", + "reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487", + "shasum": "" + }, + "require": { + "php": "^7.4|^8.0" + }, + "replace": { + "cordoval/hamcrest-php": "*", + "davedevelopment/hamcrest-php": "*", + "kodova/hamcrest-php": "*" + }, + "require-dev": { + "phpunit/php-file-iterator": "^1.4 || ^2.0 || ^3.0", + "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0 || ^8.0 || ^9.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.1.1" + }, + "time": "2025-04-30T06:54:44+00:00" + }, + { + "name": "instaclick/php-webdriver", + "version": "1.4.20", + "source": { + "type": "git", + "url": "https://github.com/instaclick/php-webdriver.git", + "reference": "981db0846ff4ac5be0301d609e36e2f023e74301" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/instaclick/php-webdriver/zipball/981db0846ff4ac5be0301d609e36e2f023e74301", + "reference": "981db0846ff4ac5be0301d609e36e2f023e74301", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "^8.5 || ^9.5", + "satooshi/php-coveralls": "^1.0 || ^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.4.x-dev" + } + }, + "autoload": { + "psr-0": { + "WebDriver": "lib/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Justin Bishop", + "email": "jubishop@gmail.com", + "role": "Developer" + }, + { + "name": "Anthon Pang", + "email": "apang@softwaredevelopment.ca", + "role": "Fork Maintainer" + } + ], + "description": "PHP WebDriver for Selenium 2", + "homepage": "http://instaclick.com/", + "keywords": [ + "browser", + "selenium", + "webdriver", + "webtest" + ], + "support": { + "issues": "https://github.com/instaclick/php-webdriver/issues", + "source": "https://github.com/instaclick/php-webdriver/tree/1.4.20" + }, + "time": "2025-12-04T11:20:11+00:00" + }, + { + "name": "laravel/agent-detector", + "version": "v2.0.2", + "source": { + "type": "git", + "url": "https://github.com/laravel/agent-detector.git", + "reference": "90694b9256099591cf9e55d08c18ba7a00bf099f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/agent-detector/zipball/90694b9256099591cf9e55d08c18ba7a00bf099f", + "reference": "90694b9256099591cf9e55d08c18ba7a00bf099f", + "shasum": "" + }, + "require": { + "php": "^8.2.0" + }, + "require-dev": { + "laravel/pint": "^1.24.0", + "pestphp/pest": "^3.8.5|^4.1.0", + "pestphp/pest-plugin-type-coverage": "^3.0|^4.0.2", + "phpstan/phpstan": "^2.1.26", + "rector/rector": "^2.1.7", + "symfony/var-dumper": "^7.3.3" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Laravel\\AgentDetector\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Detect if code is running in an AI agent or automated development environment", + "homepage": "https://github.com/laravel/agent-detector", + "keywords": [ + "Agent", + "ai", + "automation", + "claude", + "cursor", + "detection", + "devin", + "php" + ], + "support": { + "issues": "https://github.com/laravel/agent-detector/issues", + "source": "https://github.com/laravel/agent-detector" + }, + "time": "2026-04-29T18:32:34+00:00" + }, + { + "name": "laravel/pail", + "version": "v1.2.7", + "source": { + "type": "git", + "url": "https://github.com/laravel/pail.git", + "reference": "2f7d27dada8effc48b8c424445a69cca7007daaa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/pail/zipball/2f7d27dada8effc48b8c424445a69cca7007daaa", + "reference": "2f7d27dada8effc48b8c424445a69cca7007daaa", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "illuminate/console": "^10.24|^11.0|^12.0|^13.0", + "illuminate/contracts": "^10.24|^11.0|^12.0|^13.0", + "illuminate/log": "^10.24|^11.0|^12.0|^13.0", + "illuminate/process": "^10.24|^11.0|^12.0|^13.0", + "illuminate/support": "^10.24|^11.0|^12.0|^13.0", + "nunomaduro/termwind": "^1.15|^2.0", + "php": "^8.2", + "symfony/console": "^6.0|^7.0|^8.0" + }, + "require-dev": { + "laravel/framework": "^10.24|^11.0|^12.0|^13.0", + "laravel/pint": "^1.13", + "orchestra/testbench-core": "^8.13|^9.17|^10.8|^11.0", + "pestphp/pest": "^2.20|^3.0|^4.0", + "pestphp/pest-plugin-type-coverage": "^2.3|^3.0|^4.0", + "phpstan/phpstan": "^1.12.27", + "symfony/var-dumper": "^6.3|^7.0|^8.0", + "symfony/yaml": "^6.3|^7.0|^8.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Laravel\\Pail\\PailServiceProvider" + ] + }, + "branch-alias": { + "dev-main": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Laravel\\Pail\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + }, + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "Easily delve into your Laravel application's log files directly from the command line.", + "homepage": "https://github.com/laravel/pail", + "keywords": [ + "dev", + "laravel", + "logs", + "php", + "tail" + ], + "support": { + "issues": "https://github.com/laravel/pail/issues", + "source": "https://github.com/laravel/pail" + }, + "time": "2026-05-20T22:24:57+00:00" + }, + { + "name": "laravel/pao", + "version": "v1.1.1", + "source": { + "type": "git", + "url": "https://github.com/laravel/pao.git", + "reference": "8f6c8094d701a03041c85ba583ca233398c792ec" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/pao/zipball/8f6c8094d701a03041c85ba583ca233398c792ec", + "reference": "8f6c8094d701a03041c85ba583ca233398c792ec", + "shasum": "" + }, + "require": { + "laravel/agent-detector": "^2.0.2", + "php": "^8.3" + }, + "conflict": { + "laravel/framework": "<12.0.0", + "nunomaduro/collision": "<8.9.3", + "pestphp/pest": "<4.6.3 || >=6.0.0", + "phpunit/phpunit": "<12.5.23 || >=13.0.0 <13.1.7 || >=14.0.0" + }, + "require-dev": { + "brianium/paratest": "^7.20.0", + "laravel/pint": "^1.29.1", + "orchestra/testbench": "^10.11.0 || ^11.1.0", + "pestphp/pest": "^4.7.2 || ^5.0.0", + "pestphp/pest-plugin-type-coverage": "^4.0.4 || ^5.0.0", + "phpstan/phpstan": "^2.2.2", + "rector/rector": "^2.4.5", + "symfony/process": "^7.4.8 || ^8.1.0", + "symfony/var-dumper": "^7.4.8 || ^8.1.0" + }, + "type": "library", + "extra": { + "pest": { + "plugins": [ + "Laravel\\Pao\\Drivers\\Pest\\Plugin" + ] + }, + "laravel": { + "providers": [ + "Laravel\\Pao\\Laravel\\ServiceProvider" + ] + } + }, + "autoload": { + "files": [ + "src/Autoload.php" + ], + "psr-4": { + "Laravel\\Pao\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Agent-optimized output for PHP testing tools", + "keywords": [ + "Agent", + "PHPStan", + "ai", + "dev", + "paratest", + "pest", + "php", + "phpunit", + "rector", + "testing" + ], + "support": { + "issues": "https://github.com/laravel/pao/issues", + "source": "https://github.com/laravel/pao" + }, + "time": "2026-06-12T08:00:22+00:00" + }, + { + "name": "laravel/pint", + "version": "v1.29.1", + "source": { + "type": "git", + "url": "https://github.com/laravel/pint.git", + "reference": "0770e9b7fafd50d4586881d456d6eb41c9247a80" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/pint/zipball/0770e9b7fafd50d4586881d456d6eb41c9247a80", + "reference": "0770e9b7fafd50d4586881d456d6eb41c9247a80", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-mbstring": "*", + "ext-tokenizer": "*", + "ext-xml": "*", + "php": "^8.2.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.95.1", + "illuminate/view": "^12.56.0", + "larastan/larastan": "^3.9.6", + "laravel-zero/framework": "^12.1.0", + "mockery/mockery": "^1.6.12", + "nunomaduro/termwind": "^2.4.0", + "pestphp/pest": "^3.8.6", + "shipfastlabs/agent-detector": "^1.1.3" + }, + "bin": [ + "builds/pint" + ], + "type": "project", + "autoload": { + "psr-4": { + "App\\": "app/", + "Database\\Seeders\\": "database/seeders/", + "Database\\Factories\\": "database/factories/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "An opinionated code formatter for PHP.", + "homepage": "https://laravel.com", + "keywords": [ + "dev", + "format", + "formatter", + "lint", + "linter", + "php" + ], + "support": { + "issues": "https://github.com/laravel/pint/issues", + "source": "https://github.com/laravel/pint" + }, + "time": "2026-04-20T15:26:14+00:00" + }, + { + "name": "laravel/sail", + "version": "v1.62.0", + "source": { + "type": "git", + "url": "https://github.com/laravel/sail.git", + "reference": "3aaeefc979f8ba6586fbc5b6e0b1b3638058f98e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/sail/zipball/3aaeefc979f8ba6586fbc5b6e0b1b3638058f98e", + "reference": "3aaeefc979f8ba6586fbc5b6e0b1b3638058f98e", + "shasum": "" + }, + "require": { + "illuminate/console": "^9.52.16|^10.0|^11.0|^12.0|^13.0", + "illuminate/contracts": "^9.52.16|^10.0|^11.0|^12.0|^13.0", + "illuminate/support": "^9.52.16|^10.0|^11.0|^12.0|^13.0", + "php": "^8.0", + "symfony/console": "^6.0|^7.0|^8.0", + "symfony/yaml": "^6.0|^7.0|^8.0" + }, + "require-dev": { + "orchestra/testbench": "^7.0|^8.0|^9.0|^10.0|^11.0", + "phpstan/phpstan": "^2.0" + }, + "bin": [ + "bin/sail" + ], + "type": "library", + "extra": { + "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": "2026-05-27T04:02:01+00:00" + }, + { + "name": "mockery/mockery", + "version": "1.6.12", + "source": { + "type": "git", + "url": "https://github.com/mockery/mockery.git", + "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mockery/mockery/zipball/1f4efdd7d3beafe9807b08156dfcb176d18f1699", + "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699", + "shasum": "" + }, + "require": { + "hamcrest/hamcrest-php": "^2.0.1", + "lib-pcre": ">=7.0", + "php": ">=7.3" + }, + "conflict": { + "phpunit/phpunit": "<8.0" + }, + "require-dev": { + "phpunit/phpunit": "^8.5 || ^9.6.17", + "symplify/easy-coding-standard": "^12.1.14" + }, + "type": "library", + "autoload": { + "files": [ + "library/helpers.php", + "library/Mockery.php" + ], + "psr-4": { + "Mockery\\": "library/Mockery" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Pádraic Brady", + "email": "padraic.brady@gmail.com", + "homepage": "https://github.com/padraic", + "role": "Author" + }, + { + "name": "Dave Marshall", + "email": "dave.marshall@atstsolutions.co.uk", + "homepage": "https://davedevelopment.co.uk", + "role": "Developer" + }, + { + "name": "Nathanael Esayeas", + "email": "nathanael.esayeas@protonmail.com", + "homepage": "https://github.com/ghostwriter", + "role": "Lead Developer" + } + ], + "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": { + "docs": "https://docs.mockery.io/", + "issues": "https://github.com/mockery/mockery/issues", + "rss": "https://github.com/mockery/mockery/releases.atom", + "security": "https://github.com/mockery/mockery/security/advisories", + "source": "https://github.com/mockery/mockery" + }, + "time": "2024-05-16T03:13:13+00:00" + }, + { + "name": "myclabs/deep-copy", + "version": "1.13.4", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/07d290f0c47959fd5eed98c95ee5602db07e0b6a", + "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "conflict": { + "doctrine/collections": "<1.6.8", + "doctrine/common": "<2.13.3 || >=3 <3.2.2" + }, + "require-dev": { + "doctrine/collections": "^1.6.8", + "doctrine/common": "^2.13.3 || ^3.2.2", + "phpspec/prophecy": "^1.10", + "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" + }, + "type": "library", + "autoload": { + "files": [ + "src/DeepCopy/deep_copy.php" + ], + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + } + }, + "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.13.4" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", + "type": "tidelift" + } + ], + "time": "2025-08-01T08:46:24+00:00" + }, + { + "name": "nunomaduro/collision", + "version": "v8.9.4", + "source": { + "type": "git", + "url": "https://github.com/nunomaduro/collision.git", + "reference": "716af8f95a470e9094cfca09ed897b023be191a5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/716af8f95a470e9094cfca09ed897b023be191a5", + "reference": "716af8f95a470e9094cfca09ed897b023be191a5", + "shasum": "" + }, + "require": { + "filp/whoops": "^2.18.4", + "nunomaduro/termwind": "^2.4.0", + "php": "^8.2.0", + "symfony/console": "^7.4.8 || ^8.0.8" + }, + "conflict": { + "laravel/framework": "<11.48.0 || >=14.0.0", + "phpunit/phpunit": "<11.5.50 || >=14.0.0" + }, + "require-dev": { + "brianium/paratest": "^7.8.5", + "larastan/larastan": "^3.9.6", + "laravel/framework": "^11.48.0 || ^12.56.0 || ^13.5.0", + "laravel/pint": "^1.29.1", + "orchestra/testbench-core": "^9.12.0 || ^10.12.1 || ^11.2.1", + "pestphp/pest": "^3.8.5 || ^4.4.3 || ^5.0.0", + "sebastian/environment": "^7.2.1 || ^8.0.4 || ^9.3.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider" + ] + }, + "branch-alias": { + "dev-8.x": "8.x-dev" + } + }, + "autoload": { + "files": [ + "./src/Adapters/Phpunit/Autoload.php" + ], + "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", + "dev", + "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/paypalme/enunomaduro", + "type": "custom" + }, + { + "url": "https://github.com/nunomaduro", + "type": "github" + }, + { + "url": "https://www.patreon.com/nunomaduro", + "type": "patreon" + } + ], + "time": "2026-04-21T14:04:20+00:00" + }, + { + "name": "phar-io/manifest", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/phar-io/manifest.git", + "reference": "54750ef60c58e43759730615a392c31c80e23176" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176", + "reference": "54750ef60c58e43759730615a392c31c80e23176", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "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.4" + }, + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2024-03-03T12:33:53+00:00" + }, + { + "name": "phar-io/version", + "version": "3.2.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/version.git", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "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.2.1" + }, + "time": "2022-02-21T01:04:05+00:00" + }, + { + "name": "phpunit/php-code-coverage", + "version": "12.5.7", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "186dab580576598076de6818596d12b61801880e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/186dab580576598076de6818596d12b61801880e", + "reference": "186dab580576598076de6818596d12b61801880e", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "ext-xmlwriter": "*", + "nikic/php-parser": "^5.7.0", + "php": ">=8.3", + "phpunit/php-text-template": "^5.0", + "sebastian/complexity": "^5.0", + "sebastian/environment": "^8.1.2", + "sebastian/lines-of-code": "^4.0.1", + "sebastian/version": "^6.0", + "theseer/tokenizer": "^2.0.1" + }, + "require-dev": { + "phpunit/phpunit": "^12.5.28" + }, + "suggest": { + "ext-pcov": "PHP extension that provides line coverage", + "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "12.5.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 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", + "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/12.5.7" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/php-code-coverage", + "type": "tidelift" + } + ], + "time": "2026-06-01T13:24:19+00:00" + }, + { + "name": "phpunit/php-file-iterator", + "version": "6.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "3d1cd096ef6bea4bf2762ba586e35dbd317cbfd5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/07d290f0c47959fd5eed98c95ee5602db07e0b6a", - "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3d1cd096ef6bea4bf2762ba586e35dbd317cbfd5", + "reference": "3d1cd096ef6bea4bf2762ba586e35dbd317cbfd5", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0" - }, - "conflict": { - "doctrine/collections": "<1.6.8", - "doctrine/common": "<2.13.3 || >=3 <3.2.2" + "php": ">=8.3" }, "require-dev": { - "doctrine/collections": "^1.6.8", - "doctrine/common": "^2.13.3 || ^3.2.2", - "phpspec/prophecy": "^1.10", - "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" + "phpunit/phpunit": "^12.0" }, "type": "library", - "autoload": { - "files": [ - "src/DeepCopy/deep_copy.php" - ], - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" + "extra": { + "branch-alias": { + "dev-main": "6.0-dev" } }, + "autoload": { + "classmap": [ + "src/" + ] + }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], - "description": "Create deep copies (clones) of your objects", + "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": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" + "filesystem", + "iterator" ], "support": { - "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.13.4" + "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", + "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/6.0.1" }, "funding": [ { - "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/php-file-iterator", "type": "tidelift" } ], - "time": "2025-08-01T08:46:24+00:00" + "time": "2026-02-02T14:04:18+00:00" }, { - "name": "nunomaduro/collision", - "version": "v8.9.4", + "name": "phpunit/php-invoker", + "version": "6.0.0", "source": { "type": "git", - "url": "https://github.com/nunomaduro/collision.git", - "reference": "716af8f95a470e9094cfca09ed897b023be191a5" + "url": "https://github.com/sebastianbergmann/php-invoker.git", + "reference": "12b54e689b07a25a9b41e57736dfab6ec9ae5406" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/collision/zipball/716af8f95a470e9094cfca09ed897b023be191a5", - "reference": "716af8f95a470e9094cfca09ed897b023be191a5", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/12b54e689b07a25a9b41e57736dfab6ec9ae5406", + "reference": "12b54e689b07a25a9b41e57736dfab6ec9ae5406", "shasum": "" }, "require": { - "filp/whoops": "^2.18.4", - "nunomaduro/termwind": "^2.4.0", - "php": "^8.2.0", - "symfony/console": "^7.4.8 || ^8.0.8" - }, - "conflict": { - "laravel/framework": "<11.48.0 || >=14.0.0", - "phpunit/phpunit": "<11.5.50 || >=14.0.0" + "php": ">=8.3" }, "require-dev": { - "brianium/paratest": "^7.8.5", - "larastan/larastan": "^3.9.6", - "laravel/framework": "^11.48.0 || ^12.56.0 || ^13.5.0", - "laravel/pint": "^1.29.1", - "orchestra/testbench-core": "^9.12.0 || ^10.12.1 || ^11.2.1", - "pestphp/pest": "^3.8.5 || ^4.4.3 || ^5.0.0", - "sebastian/environment": "^7.2.1 || ^8.0.4 || ^9.3.0" + "ext-pcntl": "*", + "phpunit/phpunit": "^12.0" + }, + "suggest": { + "ext-pcntl": "*" }, "type": "library", "extra": { - "laravel": { - "providers": [ - "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider" - ] - }, "branch-alias": { - "dev-8.x": "8.x-dev" + "dev-main": "6.0-dev" } }, "autoload": { - "files": [ - "./src/Adapters/Phpunit/Autoload.php" - ], - "psr-4": { - "NunoMaduro\\Collision\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause" ], "authors": [ { - "name": "Nuno Maduro", - "email": "enunomaduro@gmail.com" + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Cli error handling for console/command-line PHP applications.", + "description": "Invoke callables with a timeout", + "homepage": "https://github.com/sebastianbergmann/php-invoker/", "keywords": [ - "artisan", - "cli", - "command-line", - "console", - "dev", - "error", - "handling", - "laravel", - "laravel-zero", - "php", - "symfony" + "process" ], "support": { - "issues": "https://github.com/nunomaduro/collision/issues", - "source": "https://github.com/nunomaduro/collision" + "issues": "https://github.com/sebastianbergmann/php-invoker/issues", + "security": "https://github.com/sebastianbergmann/php-invoker/security/policy", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/6.0.0" }, "funding": [ { - "url": "https://www.paypal.com/paypalme/enunomaduro", - "type": "custom" - }, - { - "url": "https://github.com/nunomaduro", + "url": "https://github.com/sebastianbergmann", "type": "github" - }, - { - "url": "https://www.patreon.com/nunomaduro", - "type": "patreon" } ], - "time": "2026-04-21T14:04:20+00:00" + "time": "2025-02-07T04:58:58+00:00" }, { - "name": "phar-io/manifest", - "version": "2.0.4", + "name": "phpunit/php-text-template", + "version": "5.0.0", "source": { "type": "git", - "url": "https://github.com/phar-io/manifest.git", - "reference": "54750ef60c58e43759730615a392c31c80e23176" + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "e1367a453f0eda562eedb4f659e13aa900d66c53" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176", - "reference": "54750ef60c58e43759730615a392c31c80e23176", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/e1367a453f0eda562eedb4f659e13aa900d66c53", + "reference": "e1367a453f0eda562eedb4f659e13aa900d66c53", "shasum": "" }, "require": { - "ext-dom": "*", - "ext-libxml": "*", - "ext-phar": "*", - "ext-xmlwriter": "*", - "phar-io/version": "^3.0.1", - "php": "^7.2 || ^8.0" + "php": ">=8.3" + }, + "require-dev": { + "phpunit/phpunit": "^12.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -6788,53 +8044,56 @@ "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" + "role": "lead" } ], - "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "keywords": [ + "template" + ], "support": { - "issues": "https://github.com/phar-io/manifest/issues", - "source": "https://github.com/phar-io/manifest/tree/2.0.4" + "issues": "https://github.com/sebastianbergmann/php-text-template/issues", + "security": "https://github.com/sebastianbergmann/php-text-template/security/policy", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/5.0.0" }, "funding": [ { - "url": "https://github.com/theseer", + "url": "https://github.com/sebastianbergmann", "type": "github" } ], - "time": "2024-03-03T12:33:53+00:00" + "time": "2025-02-07T04:59:16+00:00" }, { - "name": "phar-io/version", - "version": "3.2.1", + "name": "phpunit/php-timer", + "version": "8.0.0", "source": { "type": "git", - "url": "https://github.com/phar-io/version.git", - "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "f258ce36aa457f3aa3339f9ed4c81fc66dc8c2cc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", - "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/f258ce36aa457f3aa3339f9ed4c81fc66dc8c2cc", + "reference": "f258ce36aa457f3aa3339f9ed4c81fc66dc8c2cc", "shasum": "" }, "require": { - "php": "^7.2 || ^8.0" + "php": ">=8.3" + }, + "require-dev": { + "phpunit/phpunit": "^12.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-main": "8.0-dev" + } + }, "autoload": { "classmap": [ "src/" @@ -6845,70 +8104,85 @@ "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" + "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", + "security": "https://github.com/sebastianbergmann/php-timer/security/policy", + "source": "https://github.com/sebastianbergmann/php-timer/tree/8.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" } ], - "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.2.1" - }, - "time": "2022-02-21T01:04:05+00:00" + "time": "2025-02-07T04:59:38+00:00" }, { - "name": "phpunit/php-code-coverage", - "version": "12.5.6", + "name": "phpunit/phpunit", + "version": "12.5.29", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "876099a072646c7745f673d7aeab5382c4439691" + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "9aa66a47db3ea70f1a468e66dd969f67e594945a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/876099a072646c7745f673d7aeab5382c4439691", - "reference": "876099a072646c7745f673d7aeab5382c4439691", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/9aa66a47db3ea70f1a468e66dd969f67e594945a", + "reference": "9aa66a47db3ea70f1a468e66dd969f67e594945a", "shasum": "" }, "require": { "ext-dom": "*", + "ext-json": "*", "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", "ext-xmlwriter": "*", - "nikic/php-parser": "^5.7.0", + "myclabs/deep-copy": "^1.13.4", + "phar-io/manifest": "^2.0.4", + "phar-io/version": "^3.2.1", "php": ">=8.3", - "phpunit/php-text-template": "^5.0", - "sebastian/complexity": "^5.0", - "sebastian/environment": "^8.0.3", - "sebastian/lines-of-code": "^4.0", - "sebastian/version": "^6.0", - "theseer/tokenizer": "^2.0.1" - }, - "require-dev": { - "phpunit/phpunit": "^12.5.1" - }, - "suggest": { - "ext-pcov": "PHP extension that provides line coverage", - "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" + "phpunit/php-code-coverage": "^12.5.7", + "phpunit/php-file-iterator": "^6.0.1", + "phpunit/php-invoker": "^6.0.0", + "phpunit/php-text-template": "^5.0.0", + "phpunit/php-timer": "^8.0.0", + "sebastian/cli-parser": "^4.2.1", + "sebastian/comparator": "^7.1.8", + "sebastian/diff": "^7.0.0", + "sebastian/environment": "^8.1.2", + "sebastian/exporter": "^7.0.3", + "sebastian/global-state": "^8.0.3", + "sebastian/object-enumerator": "^7.0.0", + "sebastian/recursion-context": "^7.0.1", + "sebastian/type": "^6.0.4", + "sebastian/version": "^6.0.0", + "staabm/side-effects-detector": "^1.0.5" }, + "bin": [ + "phpunit" + ], "type": "library", "extra": { "branch-alias": { - "dev-main": "12.5.x-dev" + "dev-main": "12.5-dev" } }, "autoload": { + "files": [ + "src/Framework/Assert/Functions.php" + ], "classmap": [ "src/" ] @@ -6924,62 +8198,50 @@ "role": "lead" } ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", "keywords": [ - "coverage", + "phpunit", "testing", "xunit" ], "support": { - "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/12.5.6" + "issues": "https://github.com/sebastianbergmann/phpunit/issues", + "security": "https://github.com/sebastianbergmann/phpunit/security/policy", + "source": "https://github.com/sebastianbergmann/phpunit/tree/12.5.29" }, "funding": [ { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" - }, - { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpunit/php-code-coverage", - "type": "tidelift" + "url": "https://phpunit.de/sponsoring.html", + "type": "other" } ], - "time": "2026-04-15T08:23:17+00:00" + "time": "2026-06-04T06:14:42+00:00" }, { - "name": "phpunit/php-file-iterator", - "version": "6.0.1", + "name": "sebastian/cli-parser", + "version": "4.2.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "3d1cd096ef6bea4bf2762ba586e35dbd317cbfd5" + "url": "https://github.com/sebastianbergmann/cli-parser.git", + "reference": "7d05781b13f7dec9043a629a21d086ed74582a15" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/3d1cd096ef6bea4bf2762ba586e35dbd317cbfd5", - "reference": "3d1cd096ef6bea4bf2762ba586e35dbd317cbfd5", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/7d05781b13f7dec9043a629a21d086ed74582a15", + "reference": "7d05781b13f7dec9043a629a21d086ed74582a15", "shasum": "" }, "require": { "php": ">=8.3" }, "require-dev": { - "phpunit/phpunit": "^12.0" + "phpunit/phpunit": "^12.5.25" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "6.0-dev" + "dev-main": "4.2-dev" } }, "autoload": { @@ -6998,16 +8260,12 @@ "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" - ], + "description": "Library for parsing CLI options", + "homepage": "https://github.com/sebastianbergmann/cli-parser", "support": { - "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", - "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/6.0.1" + "issues": "https://github.com/sebastianbergmann/cli-parser/issues", + "security": "https://github.com/sebastianbergmann/cli-parser/security/policy", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/4.2.1" }, "funding": [ { @@ -7023,40 +8281,43 @@ "type": "thanks_dev" }, { - "url": "https://tidelift.com/funding/github/packagist/phpunit/php-file-iterator", + "url": "https://tidelift.com/funding/github/packagist/sebastian/cli-parser", "type": "tidelift" } ], - "time": "2026-02-02T14:04:18+00:00" + "time": "2026-05-17T05:29:34+00:00" }, { - "name": "phpunit/php-invoker", - "version": "6.0.0", + "name": "sebastian/comparator", + "version": "7.1.8", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-invoker.git", - "reference": "12b54e689b07a25a9b41e57736dfab6ec9ae5406" + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "7c65c1e79836812819705b473a90c12399542485" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/12b54e689b07a25a9b41e57736dfab6ec9ae5406", - "reference": "12b54e689b07a25a9b41e57736dfab6ec9ae5406", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/7c65c1e79836812819705b473a90c12399542485", + "reference": "7c65c1e79836812819705b473a90c12399542485", "shasum": "" }, "require": { - "php": ">=8.3" + "ext-dom": "*", + "ext-mbstring": "*", + "php": ">=8.3", + "sebastian/diff": "^7.0", + "sebastian/exporter": "^7.0.3" }, "require-dev": { - "ext-pcntl": "*", - "phpunit/phpunit": "^12.0" + "phpunit/phpunit": "^12.5.25" }, "suggest": { - "ext-pcntl": "*" + "ext-bcmath": "For comparing BcMath\\Number objects" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "6.0-dev" + "dev-main": "7.1-dev" } }, "autoload": { @@ -7071,43 +8332,69 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "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": "Invoke callables with a timeout", - "homepage": "https://github.com/sebastianbergmann/php-invoker/", + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "https://github.com/sebastianbergmann/comparator", "keywords": [ - "process" + "comparator", + "compare", + "equality" ], "support": { - "issues": "https://github.com/sebastianbergmann/php-invoker/issues", - "security": "https://github.com/sebastianbergmann/php-invoker/security/policy", - "source": "https://github.com/sebastianbergmann/php-invoker/tree/6.0.0" + "issues": "https://github.com/sebastianbergmann/comparator/issues", + "security": "https://github.com/sebastianbergmann/comparator/security/policy", + "source": "https://github.com/sebastianbergmann/comparator/tree/7.1.8" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/comparator", + "type": "tidelift" } ], - "time": "2025-02-07T04:58:58+00:00" + "time": "2026-05-21T04:45:25+00:00" }, { - "name": "phpunit/php-text-template", + "name": "sebastian/complexity", "version": "5.0.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "e1367a453f0eda562eedb4f659e13aa900d66c53" + "url": "https://github.com/sebastianbergmann/complexity.git", + "reference": "bad4316aba5303d0221f43f8cee37eb58d384bbb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/e1367a453f0eda562eedb4f659e13aa900d66c53", - "reference": "e1367a453f0eda562eedb4f659e13aa900d66c53", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/bad4316aba5303d0221f43f8cee37eb58d384bbb", + "reference": "bad4316aba5303d0221f43f8cee37eb58d384bbb", "shasum": "" }, "require": { + "nikic/php-parser": "^5.0", "php": ">=8.3" }, "require-dev": { @@ -7135,15 +8422,12 @@ "role": "lead" } ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], + "description": "Library for calculating the complexity of PHP code units", + "homepage": "https://github.com/sebastianbergmann/complexity", "support": { - "issues": "https://github.com/sebastianbergmann/php-text-template/issues", - "security": "https://github.com/sebastianbergmann/php-text-template/security/policy", - "source": "https://github.com/sebastianbergmann/php-text-template/tree/5.0.0" + "issues": "https://github.com/sebastianbergmann/complexity/issues", + "security": "https://github.com/sebastianbergmann/complexity/security/policy", + "source": "https://github.com/sebastianbergmann/complexity/tree/5.0.0" }, "funding": [ { @@ -7151,32 +8435,33 @@ "type": "github" } ], - "time": "2025-02-07T04:59:16+00:00" + "time": "2025-02-07T04:55:25+00:00" }, { - "name": "phpunit/php-timer", - "version": "8.0.0", + "name": "sebastian/diff", + "version": "7.0.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "f258ce36aa457f3aa3339f9ed4c81fc66dc8c2cc" + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "7ab1ea946c012266ca32390913653d844ecd085f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/f258ce36aa457f3aa3339f9ed4c81fc66dc8c2cc", - "reference": "f258ce36aa457f3aa3339f9ed4c81fc66dc8c2cc", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7ab1ea946c012266ca32390913653d844ecd085f", + "reference": "7ab1ea946c012266ca32390913653d844ecd085f", "shasum": "" }, "require": { "php": ">=8.3" }, "require-dev": { - "phpunit/phpunit": "^12.0" + "phpunit/phpunit": "^12.0", + "symfony/process": "^7.2" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "8.0-dev" + "dev-main": "7.0-dev" } }, "autoload": { @@ -7191,19 +8476,25 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "email": "sebastian@phpunit.de" + }, + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" } ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", "keywords": [ - "timer" + "diff", + "udiff", + "unidiff", + "unified diff" ], "support": { - "issues": "https://github.com/sebastianbergmann/php-timer/issues", - "security": "https://github.com/sebastianbergmann/php-timer/security/policy", - "source": "https://github.com/sebastianbergmann/php-timer/tree/8.0.0" + "issues": "https://github.com/sebastianbergmann/diff/issues", + "security": "https://github.com/sebastianbergmann/diff/security/policy", + "source": "https://github.com/sebastianbergmann/diff/tree/7.0.0" }, "funding": [ { @@ -7211,63 +8502,38 @@ "type": "github" } ], - "time": "2025-02-07T04:59:38+00:00" + "time": "2025-02-07T04:55:46+00:00" }, { - "name": "phpunit/phpunit", - "version": "12.5.24", + "name": "sebastian/environment", + "version": "8.1.2", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "d75dd30597caa80e72fad2ef7904601a30ef1046" + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "9d32c685773823b1983e256ae4ecd48a10d6e439" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/d75dd30597caa80e72fad2ef7904601a30ef1046", - "reference": "d75dd30597caa80e72fad2ef7904601a30ef1046", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/9d32c685773823b1983e256ae4ecd48a10d6e439", + "reference": "9d32c685773823b1983e256ae4ecd48a10d6e439", "shasum": "" }, "require": { - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-xml": "*", - "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.13.4", - "phar-io/manifest": "^2.0.4", - "phar-io/version": "^3.2.1", - "php": ">=8.3", - "phpunit/php-code-coverage": "^12.5.6", - "phpunit/php-file-iterator": "^6.0.1", - "phpunit/php-invoker": "^6.0.0", - "phpunit/php-text-template": "^5.0.0", - "phpunit/php-timer": "^8.0.0", - "sebastian/cli-parser": "^4.2.0", - "sebastian/comparator": "^7.1.6", - "sebastian/diff": "^7.0.0", - "sebastian/environment": "^8.1.0", - "sebastian/exporter": "^7.0.2", - "sebastian/global-state": "^8.0.2", - "sebastian/object-enumerator": "^7.0.0", - "sebastian/recursion-context": "^7.0.1", - "sebastian/type": "^6.0.3", - "sebastian/version": "^6.0.0", - "staabm/side-effects-detector": "^1.0.5" + "php": ">=8.3" + }, + "require-dev": { + "phpunit/phpunit": "^12.5.26" + }, + "suggest": { + "ext-posix": "*" }, - "bin": [ - "phpunit" - ], "type": "library", "extra": { "branch-alias": { - "dev-main": "12.5-dev" + "dev-main": "8.1-dev" } }, "autoload": { - "files": [ - "src/Framework/Assert/Functions.php" - ], "classmap": [ "src/" ] @@ -7279,54 +8545,67 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "email": "sebastian@phpunit.de" } ], - "description": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "https://github.com/sebastianbergmann/environment", "keywords": [ - "phpunit", - "testing", - "xunit" + "Xdebug", + "environment", + "hhvm" ], "support": { - "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/12.5.24" + "issues": "https://github.com/sebastianbergmann/environment/issues", + "security": "https://github.com/sebastianbergmann/environment/security/policy", + "source": "https://github.com/sebastianbergmann/environment/tree/8.1.2" }, "funding": [ { - "url": "https://phpunit.de/sponsoring.html", - "type": "other" + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/environment", + "type": "tidelift" } ], - "time": "2026-05-01T04:21:04+00:00" + "time": "2026-05-25T13:40:20+00:00" }, { - "name": "sebastian/cli-parser", - "version": "4.2.0", + "name": "sebastian/exporter", + "version": "7.0.3", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "90f41072d220e5c40df6e8635f5dafba2d9d4d04" + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "c5e21b5de653ce0a769fb36f5cdfcb5e7a32cf23" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/90f41072d220e5c40df6e8635f5dafba2d9d4d04", - "reference": "90f41072d220e5c40df6e8635f5dafba2d9d4d04", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/c5e21b5de653ce0a769fb36f5cdfcb5e7a32cf23", + "reference": "c5e21b5de653ce0a769fb36f5cdfcb5e7a32cf23", "shasum": "" }, "require": { - "php": ">=8.3" + "ext-mbstring": "*", + "php": ">=8.3", + "sebastian/recursion-context": "^7.0.1" }, "require-dev": { - "phpunit/phpunit": "^12.0" + "phpunit/phpunit": "^12.5.25" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "4.2-dev" + "dev-main": "7.0-dev" } }, "autoload": { @@ -7341,16 +8620,35 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "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": "Library for parsing CLI options", - "homepage": "https://github.com/sebastianbergmann/cli-parser", + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "https://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], "support": { - "issues": "https://github.com/sebastianbergmann/cli-parser/issues", - "security": "https://github.com/sebastianbergmann/cli-parser/security/policy", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/4.2.0" + "issues": "https://github.com/sebastianbergmann/exporter/issues", + "security": "https://github.com/sebastianbergmann/exporter/security/policy", + "source": "https://github.com/sebastianbergmann/exporter/tree/7.0.3" }, "funding": [ { @@ -7366,43 +8664,39 @@ "type": "thanks_dev" }, { - "url": "https://tidelift.com/funding/github/packagist/sebastian/cli-parser", + "url": "https://tidelift.com/funding/github/packagist/sebastian/exporter", "type": "tidelift" } ], - "time": "2025-09-14T09:36:45+00:00" + "time": "2026-05-20T04:37:17+00:00" }, { - "name": "sebastian/comparator", - "version": "7.1.6", + "name": "sebastian/global-state", + "version": "8.0.3", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "c769009dee98f494e0edc3fd4f4087501688f11e" + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "b164d3274d6537ab462591c5755f76a8f5b1aae9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/c769009dee98f494e0edc3fd4f4087501688f11e", - "reference": "c769009dee98f494e0edc3fd4f4087501688f11e", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/b164d3274d6537ab462591c5755f76a8f5b1aae9", + "reference": "b164d3274d6537ab462591c5755f76a8f5b1aae9", "shasum": "" }, "require": { - "ext-dom": "*", - "ext-mbstring": "*", "php": ">=8.3", - "sebastian/diff": "^7.0", - "sebastian/exporter": "^7.0" + "sebastian/object-reflector": "^5.0", + "sebastian/recursion-context": "^7.0.1" }, "require-dev": { - "phpunit/phpunit": "^12.2" - }, - "suggest": { - "ext-bcmath": "For comparing BcMath\\Number objects" + "ext-dom": "*", + "phpunit/phpunit": "^12.5.28" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "7.1-dev" + "dev-main": "8.0-dev" } }, "autoload": { @@ -7418,31 +8712,17 @@ { "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", + "description": "Snapshotting of global state", + "homepage": "https://www.github.com/sebastianbergmann/global-state", "keywords": [ - "comparator", - "compare", - "equality" + "global state" ], "support": { - "issues": "https://github.com/sebastianbergmann/comparator/issues", - "security": "https://github.com/sebastianbergmann/comparator/security/policy", - "source": "https://github.com/sebastianbergmann/comparator/tree/7.1.6" + "issues": "https://github.com/sebastianbergmann/global-state/issues", + "security": "https://github.com/sebastianbergmann/global-state/security/policy", + "source": "https://github.com/sebastianbergmann/global-state/tree/8.0.3" }, "funding": [ { @@ -7458,37 +8738,37 @@ "type": "thanks_dev" }, { - "url": "https://tidelift.com/funding/github/packagist/sebastian/comparator", + "url": "https://tidelift.com/funding/github/packagist/sebastian/global-state", "type": "tidelift" } ], - "time": "2026-04-14T08:23:15+00:00" + "time": "2026-06-01T15:10:33+00:00" }, { - "name": "sebastian/complexity", - "version": "5.0.0", + "name": "sebastian/lines-of-code", + "version": "4.0.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "bad4316aba5303d0221f43f8cee37eb58d384bbb" + "url": "https://github.com/sebastianbergmann/lines-of-code.git", + "reference": "d543b8ef219dcd8da262cbb958639a96bedba10e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/bad4316aba5303d0221f43f8cee37eb58d384bbb", - "reference": "bad4316aba5303d0221f43f8cee37eb58d384bbb", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/d543b8ef219dcd8da262cbb958639a96bedba10e", + "reference": "d543b8ef219dcd8da262cbb958639a96bedba10e", "shasum": "" }, "require": { - "nikic/php-parser": "^5.0", + "nikic/php-parser": "^5.7.0", "php": ">=8.3" }, "require-dev": { - "phpunit/phpunit": "^12.0" + "phpunit/phpunit": "^12.5.25" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "5.0-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -7507,41 +8787,54 @@ "role": "lead" } ], - "description": "Library for calculating the complexity of PHP code units", - "homepage": "https://github.com/sebastianbergmann/complexity", + "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/complexity/issues", - "security": "https://github.com/sebastianbergmann/complexity/security/policy", - "source": "https://github.com/sebastianbergmann/complexity/tree/5.0.0" + "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", + "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy", + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/4.0.1" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" + }, + { + "url": "https://liberapay.com/sebastianbergmann", + "type": "liberapay" + }, + { + "url": "https://thanks.dev/u/gh/sebastianbergmann", + "type": "thanks_dev" + }, + { + "url": "https://tidelift.com/funding/github/packagist/sebastian/lines-of-code", + "type": "tidelift" } ], - "time": "2025-02-07T04:55:25+00:00" + "time": "2026-05-19T16:22:07+00:00" }, { - "name": "sebastian/diff", + "name": "sebastian/object-enumerator", "version": "7.0.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "7ab1ea946c012266ca32390913653d844ecd085f" + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "1effe8e9b8e068e9ae228e542d5d11b5d16db894" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7ab1ea946c012266ca32390913653d844ecd085f", - "reference": "7ab1ea946c012266ca32390913653d844ecd085f", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/1effe8e9b8e068e9ae228e542d5d11b5d16db894", + "reference": "1effe8e9b8e068e9ae228e542d5d11b5d16db894", "shasum": "" }, "require": { - "php": ">=8.3" + "php": ">=8.3", + "sebastian/object-reflector": "^5.0", + "sebastian/recursion-context": "^7.0" }, "require-dev": { - "phpunit/phpunit": "^12.0", - "symfony/process": "^7.2" + "phpunit/phpunit": "^12.0" }, "type": "library", "extra": { @@ -7562,24 +8855,14 @@ { "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" - ], + "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/diff/issues", - "security": "https://github.com/sebastianbergmann/diff/security/policy", - "source": "https://github.com/sebastianbergmann/diff/tree/7.0.0" + "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", + "security": "https://github.com/sebastianbergmann/object-enumerator/security/policy", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/7.0.0" }, "funding": [ { @@ -7587,20 +8870,20 @@ "type": "github" } ], - "time": "2025-02-07T04:55:46+00:00" + "time": "2025-02-07T04:57:48+00:00" }, { - "name": "sebastian/environment", - "version": "8.1.0", + "name": "sebastian/object-reflector", + "version": "5.0.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "b121608b28a13f721e76ffbbd386d08eff58f3f6" + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "4bfa827c969c98be1e527abd576533293c634f6a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/b121608b28a13f721e76ffbbd386d08eff58f3f6", - "reference": "b121608b28a13f721e76ffbbd386d08eff58f3f6", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/4bfa827c969c98be1e527abd576533293c634f6a", + "reference": "4bfa827c969c98be1e527abd576533293c634f6a", "shasum": "" }, "require": { @@ -7609,13 +8892,10 @@ "require-dev": { "phpunit/phpunit": "^12.0" }, - "suggest": { - "ext-posix": "*" - }, "type": "library", "extra": { "branch-alias": { - "dev-main": "8.1-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -7633,56 +8913,37 @@ "email": "sebastian@phpunit.de" } ], - "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "https://github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], + "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/environment/issues", - "security": "https://github.com/sebastianbergmann/environment/security/policy", - "source": "https://github.com/sebastianbergmann/environment/tree/8.1.0" + "issues": "https://github.com/sebastianbergmann/object-reflector/issues", + "security": "https://github.com/sebastianbergmann/object-reflector/security/policy", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/5.0.0" }, "funding": [ { "url": "https://github.com/sebastianbergmann", "type": "github" - }, - { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" - }, - { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" - }, - { - "url": "https://tidelift.com/funding/github/packagist/sebastian/environment", - "type": "tidelift" } ], - "time": "2026-04-15T12:13:01+00:00" + "time": "2025-02-07T04:58:17+00:00" }, { - "name": "sebastian/exporter", - "version": "7.0.2", + "name": "sebastian/recursion-context", + "version": "7.0.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "016951ae10980765e4e7aee491eb288c64e505b7" + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "0b01998a7d5b1f122911a66bebcb8d46f0c82d8c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/016951ae10980765e4e7aee491eb288c64e505b7", - "reference": "016951ae10980765e4e7aee491eb288c64e505b7", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/0b01998a7d5b1f122911a66bebcb8d46f0c82d8c", + "reference": "0b01998a7d5b1f122911a66bebcb8d46f0c82d8c", "shasum": "" }, "require": { - "ext-mbstring": "*", - "php": ">=8.3", - "sebastian/recursion-context": "^7.0" + "php": ">=8.3" }, "require-dev": { "phpunit/phpunit": "^12.0" @@ -7709,31 +8970,19 @@ }, { "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" + "email": "whatthejeff@gmail.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": "https://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "https://github.com/sebastianbergmann/recursion-context", "support": { - "issues": "https://github.com/sebastianbergmann/exporter/issues", - "security": "https://github.com/sebastianbergmann/exporter/security/policy", - "source": "https://github.com/sebastianbergmann/exporter/tree/7.0.2" + "issues": "https://github.com/sebastianbergmann/recursion-context/issues", + "security": "https://github.com/sebastianbergmann/recursion-context/security/policy", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/7.0.1" }, "funding": [ { @@ -7749,39 +8998,36 @@ "type": "thanks_dev" }, { - "url": "https://tidelift.com/funding/github/packagist/sebastian/exporter", + "url": "https://tidelift.com/funding/github/packagist/sebastian/recursion-context", "type": "tidelift" } ], - "time": "2025-09-24T06:16:11+00:00" + "time": "2025-08-13T04:44:59+00:00" }, { - "name": "sebastian/global-state", - "version": "8.0.2", + "name": "sebastian/type", + "version": "6.0.4", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "ef1377171613d09edd25b7816f05be8313f9115d" + "url": "https://github.com/sebastianbergmann/type.git", + "reference": "82ff822c2edc46724be9f7411d3163021f602773" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/ef1377171613d09edd25b7816f05be8313f9115d", - "reference": "ef1377171613d09edd25b7816f05be8313f9115d", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/82ff822c2edc46724be9f7411d3163021f602773", + "reference": "82ff822c2edc46724be9f7411d3163021f602773", "shasum": "" }, "require": { - "php": ">=8.3", - "sebastian/object-reflector": "^5.0", - "sebastian/recursion-context": "^7.0" + "php": ">=8.3" }, "require-dev": { - "ext-dom": "*", - "phpunit/phpunit": "^12.0" + "phpunit/phpunit": "^12.5.25" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "8.0-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -7796,18 +9042,16 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "email": "sebastian@phpunit.de", + "role": "lead" } ], - "description": "Snapshotting of global state", - "homepage": "https://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], + "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/global-state/issues", - "security": "https://github.com/sebastianbergmann/global-state/security/policy", - "source": "https://github.com/sebastianbergmann/global-state/tree/8.0.2" + "issues": "https://github.com/sebastianbergmann/type/issues", + "security": "https://github.com/sebastianbergmann/type/security/policy", + "source": "https://github.com/sebastianbergmann/type/tree/6.0.4" }, "funding": [ { @@ -7823,37 +9067,33 @@ "type": "thanks_dev" }, { - "url": "https://tidelift.com/funding/github/packagist/sebastian/global-state", + "url": "https://tidelift.com/funding/github/packagist/sebastian/type", "type": "tidelift" } ], - "time": "2025-08-29T11:29:25+00:00" + "time": "2026-05-20T06:45:45+00:00" }, { - "name": "sebastian/lines-of-code", - "version": "4.0.0", + "name": "sebastian/version", + "version": "6.0.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "97ffee3bcfb5805568d6af7f0f893678fc076d2f" + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "3e6ccf7657d4f0a59200564b08cead899313b53c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/97ffee3bcfb5805568d6af7f0f893678fc076d2f", - "reference": "97ffee3bcfb5805568d6af7f0f893678fc076d2f", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/3e6ccf7657d4f0a59200564b08cead899313b53c", + "reference": "3e6ccf7657d4f0a59200564b08cead899313b53c", "shasum": "" }, "require": { - "nikic/php-parser": "^5.0", "php": ">=8.3" }, - "require-dev": { - "phpunit/phpunit": "^12.0" - }, "type": "library", "extra": { "branch-alias": { - "dev-main": "4.0-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -7872,12 +9112,12 @@ "role": "lead" } ], - "description": "Library for counting the lines of code in PHP source code", - "homepage": "https://github.com/sebastianbergmann/lines-of-code", + "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/lines-of-code/issues", - "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/4.0.0" + "issues": "https://github.com/sebastianbergmann/version/issues", + "security": "https://github.com/sebastianbergmann/version/security/policy", + "source": "https://github.com/sebastianbergmann/version/tree/6.0.0" }, "funding": [ { @@ -7885,396 +9125,630 @@ "type": "github" } ], - "time": "2025-02-07T04:57:28+00:00" + "time": "2025-02-07T05:00:38+00:00" }, { - "name": "sebastian/object-enumerator", - "version": "7.0.0", + "name": "staabm/side-effects-detector", + "version": "1.0.5", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "1effe8e9b8e068e9ae228e542d5d11b5d16db894" + "url": "https://github.com/staabm/side-effects-detector.git", + "reference": "d8334211a140ce329c13726d4a715adbddd0a163" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/1effe8e9b8e068e9ae228e542d5d11b5d16db894", - "reference": "1effe8e9b8e068e9ae228e542d5d11b5d16db894", + "url": "https://api.github.com/repos/staabm/side-effects-detector/zipball/d8334211a140ce329c13726d4a715adbddd0a163", + "reference": "d8334211a140ce329c13726d4a715adbddd0a163", "shasum": "" }, "require": { - "php": ">=8.3", - "sebastian/object-reflector": "^5.0", - "sebastian/recursion-context": "^7.0" + "ext-tokenizer": "*", + "php": "^7.4 || ^8.0" }, "require-dev": { - "phpunit/phpunit": "^12.0" + "phpstan/extension-installer": "^1.4.3", + "phpstan/phpstan": "^1.12.6", + "phpunit/phpunit": "^9.6.21", + "symfony/var-dumper": "^5.4.43", + "tomasvotruba/type-coverage": "1.0.0", + "tomasvotruba/unused-public": "1.0.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-main": "7.0-dev" + "autoload": { + "classmap": [ + "lib/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A static analysis tool to detect side effects in PHP code", + "keywords": [ + "static analysis" + ], + "support": { + "issues": "https://github.com/staabm/side-effects-detector/issues", + "source": "https://github.com/staabm/side-effects-detector/tree/1.0.5" + }, + "funding": [ + { + "url": "https://github.com/staabm", + "type": "github" } + ], + "time": "2024-10-20T05:08:20+00:00" + }, + { + "name": "symfony/browser-kit", + "version": "v8.1.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/browser-kit.git", + "reference": "74e18e582cdda0eca35f7c74e1e48e62f0ede853" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/74e18e582cdda0eca35f7c74e1e48e62f0ede853", + "reference": "74e18e582cdda0eca35f7c74e1e48e62f0ede853", + "shasum": "" + }, + "require": { + "php": ">=8.4.1", + "symfony/dom-crawler": "^7.4|^8.0" + }, + "require-dev": { + "symfony/css-selector": "^7.4|^8.0", + "symfony/http-client": "^7.4|^8.0", + "symfony/mime": "^7.4|^8.0", + "symfony/process": "^7.4|^8.0" }, + "type": "library", "autoload": { - "classmap": [ - "src/" + "psr-4": { + "Symfony\\Component\\BrowserKit\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Traverses array structures and object graphs to enumerate all referenced objects", - "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "description": "Simulates the behavior of a web browser, allowing you to make requests, click on links and submit forms programmatically", + "homepage": "https://symfony.com", "support": { - "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", - "security": "https://github.com/sebastianbergmann/object-enumerator/security/policy", - "source": "https://github.com/sebastianbergmann/object-enumerator/tree/7.0.0" + "source": "https://github.com/symfony/browser-kit/tree/v8.1.0" }, "funding": [ { - "url": "https://github.com/sebastianbergmann", + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } ], - "time": "2025-02-07T04:57:48+00:00" + "time": "2026-05-29T05:06:50+00:00" }, { - "name": "sebastian/object-reflector", - "version": "5.0.0", + "name": "symfony/config", + "version": "v7.4.10", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "4bfa827c969c98be1e527abd576533293c634f6a" + "url": "https://github.com/symfony/config.git", + "reference": "d91b6c7cd2a8c9a9c2b8d26c8f5ed48edf99ef57" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/4bfa827c969c98be1e527abd576533293c634f6a", - "reference": "4bfa827c969c98be1e527abd576533293c634f6a", + "url": "https://api.github.com/repos/symfony/config/zipball/d91b6c7cd2a8c9a9c2b8d26c8f5ed48edf99ef57", + "reference": "d91b6c7cd2a8c9a9c2b8d26c8f5ed48edf99ef57", "shasum": "" }, "require": { - "php": ">=8.3" + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/filesystem": "^7.1|^8.0", + "symfony/polyfill-ctype": "~1.8" + }, + "conflict": { + "symfony/finder": "<6.4", + "symfony/service-contracts": "<2.5" }, "require-dev": { - "phpunit/phpunit": "^12.0" + "symfony/event-dispatcher": "^6.4|^7.0|^8.0", + "symfony/finder": "^6.4|^7.0|^8.0", + "symfony/messenger": "^6.4|^7.0|^8.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/yaml": "^6.4|^7.0|^8.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-main": "5.0-dev" + "autoload": { + "psr-4": { + "Symfony\\Component\\Config\\": "" + }, + "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": "Helps you find, load, combine, autofill and validate configuration values of any kind", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/config/tree/v7.4.10" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } + ], + "time": "2026-05-03T14:20:49+00:00" + }, + { + "name": "symfony/dependency-injection", + "version": "v7.4.13", + "source": { + "type": "git", + "url": "https://github.com/symfony/dependency-injection.git", + "reference": "f299e20ce983be6c0744952533c6dfeaaa1448e2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/f299e20ce983be6c0744952533c6dfeaaa1448e2", + "reference": "f299e20ce983be6c0744952533c6dfeaaa1448e2", + "shasum": "" + }, + "require": { + "php": ">=8.2", + "psr/container": "^1.1|^2.0", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/service-contracts": "^3.6", + "symfony/var-exporter": "^6.4.20|^7.2.5|^8.0" + }, + "conflict": { + "ext-psr": "<1.1|>=2", + "symfony/config": "<6.4", + "symfony/finder": "<6.4", + "symfony/yaml": "<6.4" + }, + "provide": { + "psr/container-implementation": "1.1|2.0", + "symfony/service-implementation": "1.1|2.0|3.0" + }, + "require-dev": { + "symfony/config": "^6.4|^7.0|^8.0", + "symfony/expression-language": "^6.4|^7.0|^8.0", + "symfony/yaml": "^6.4|^7.0|^8.0" }, + "type": "library", "autoload": { - "classmap": [ - "src/" + "psr-4": { + "Symfony\\Component\\DependencyInjection\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Allows reflection of object attributes, including inherited and non-public ones", - "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "description": "Allows you to standardize and centralize the way objects are constructed in your application", + "homepage": "https://symfony.com", "support": { - "issues": "https://github.com/sebastianbergmann/object-reflector/issues", - "security": "https://github.com/sebastianbergmann/object-reflector/security/policy", - "source": "https://github.com/sebastianbergmann/object-reflector/tree/5.0.0" + "source": "https://github.com/symfony/dependency-injection/tree/v7.4.13" }, "funding": [ { - "url": "https://github.com/sebastianbergmann", + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } ], - "time": "2025-02-07T04:58:17+00:00" + "time": "2026-05-20T14:07:29+00:00" }, { - "name": "sebastian/recursion-context", - "version": "7.0.1", + "name": "symfony/dom-crawler", + "version": "v8.1.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "0b01998a7d5b1f122911a66bebcb8d46f0c82d8c" + "url": "https://github.com/symfony/dom-crawler.git", + "reference": "77ca351474ea018daba5f2e473cbf1b9b8e72ac6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/0b01998a7d5b1f122911a66bebcb8d46f0c82d8c", - "reference": "0b01998a7d5b1f122911a66bebcb8d46f0c82d8c", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/77ca351474ea018daba5f2e473cbf1b9b8e72ac6", + "reference": "77ca351474ea018daba5f2e473cbf1b9b8e72ac6", "shasum": "" }, "require": { - "php": ">=8.3" + "php": ">=8.4.1", + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-mbstring": "^1.0" }, "require-dev": { - "phpunit/phpunit": "^12.0" + "symfony/css-selector": "^7.4|^8.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-main": "7.0-dev" - } - }, "autoload": { - "classmap": [ - "src/" + "psr-4": { + "Symfony\\Component\\DomCrawler\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { - "name": "Adam Harvey", - "email": "aharvey@php.net" + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "https://github.com/sebastianbergmann/recursion-context", + "description": "Eases DOM navigation for HTML and XML documents", + "homepage": "https://symfony.com", "support": { - "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "security": "https://github.com/sebastianbergmann/recursion-context/security/policy", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/7.0.1" + "source": "https://github.com/symfony/dom-crawler/tree/v8.1.0" }, "funding": [ { - "url": "https://github.com/sebastianbergmann", - "type": "github" + "url": "https://symfony.com/sponsor", + "type": "custom" }, { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" + "url": "https://github.com/fabpot", + "type": "github" }, { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" + "url": "https://github.com/nicolas-grekas", + "type": "github" }, { - "url": "https://tidelift.com/funding/github/packagist/sebastian/recursion-context", + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2025-08-13T04:44:59+00:00" + "time": "2026-05-29T05:06:50+00:00" }, { - "name": "sebastian/type", - "version": "6.0.3", + "name": "symfony/filesystem", + "version": "v8.1.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/type.git", - "reference": "e549163b9760b8f71f191651d22acf32d56d6d4d" + "url": "https://github.com/symfony/filesystem.git", + "reference": "99aec13b82b4967ec5088222c4a3ecca955949c2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/e549163b9760b8f71f191651d22acf32d56d6d4d", - "reference": "e549163b9760b8f71f191651d22acf32d56d6d4d", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/99aec13b82b4967ec5088222c4a3ecca955949c2", + "reference": "99aec13b82b4967ec5088222c4a3ecca955949c2", "shasum": "" }, "require": { - "php": ">=8.3" + "php": ">=8.4.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.8" }, "require-dev": { - "phpunit/phpunit": "^12.0" + "symfony/process": "^7.4|^8.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-main": "6.0-dev" - } - }, "autoload": { - "classmap": [ - "src/" + "psr-4": { + "Symfony\\Component\\Filesystem\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Collection of value objects that represent the types of the PHP type system", - "homepage": "https://github.com/sebastianbergmann/type", + "description": "Provides basic utilities for the filesystem", + "homepage": "https://symfony.com", "support": { - "issues": "https://github.com/sebastianbergmann/type/issues", - "security": "https://github.com/sebastianbergmann/type/security/policy", - "source": "https://github.com/sebastianbergmann/type/tree/6.0.3" + "source": "https://github.com/symfony/filesystem/tree/v8.1.0" }, "funding": [ { - "url": "https://github.com/sebastianbergmann", - "type": "github" + "url": "https://symfony.com/sponsor", + "type": "custom" }, { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" + "url": "https://github.com/fabpot", + "type": "github" }, { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" + "url": "https://github.com/nicolas-grekas", + "type": "github" }, { - "url": "https://tidelift.com/funding/github/packagist/sebastian/type", + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", "type": "tidelift" } ], - "time": "2025-08-09T06:57:12+00:00" + "time": "2026-05-29T05:06:50+00:00" }, { - "name": "sebastian/version", - "version": "6.0.0", + "name": "symfony/polyfill-deepclone", + "version": "v1.40.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "3e6ccf7657d4f0a59200564b08cead899313b53c" + "url": "https://github.com/symfony/polyfill-deepclone.git", + "reference": "dca4ccba5f360070b574414dce4c1e7a559844fa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/3e6ccf7657d4f0a59200564b08cead899313b53c", - "reference": "3e6ccf7657d4f0a59200564b08cead899313b53c", + "url": "https://api.github.com/repos/symfony/polyfill-deepclone/zipball/dca4ccba5f360070b574414dce4c1e7a559844fa", + "reference": "dca4ccba5f360070b574414dce4c1e7a559844fa", "shasum": "" }, "require": { - "php": ">=8.3" + "php": ">=8.1" + }, + "provide": { + "ext-deepclone": "*" + }, + "suggest": { + "ext-deepclone": "For best performance" }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "6.0-dev" + "thanks": { + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\DeepClone\\": "" + }, "classmap": [ - "src/" + "Resources/stubs" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" } ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", + "description": "Symfony polyfill for the deepclone extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "deepclone", + "polyfill", + "portable", + "shim" + ], "support": { - "issues": "https://github.com/sebastianbergmann/version/issues", - "security": "https://github.com/sebastianbergmann/version/security/policy", - "source": "https://github.com/sebastianbergmann/version/tree/6.0.0" + "source": "https://github.com/symfony/polyfill-deepclone/tree/v1.40.0" }, "funding": [ { - "url": "https://github.com/sebastianbergmann", + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } ], - "time": "2025-02-07T05:00:38+00:00" + "time": "2026-06-12T07:27:17+00:00" }, { - "name": "staabm/side-effects-detector", - "version": "1.0.5", + "name": "symfony/var-exporter", + "version": "v8.1.0", "source": { "type": "git", - "url": "https://github.com/staabm/side-effects-detector.git", - "reference": "d8334211a140ce329c13726d4a715adbddd0a163" + "url": "https://github.com/symfony/var-exporter.git", + "reference": "2dd18582c5f6c024db9fc0ff9c76d873af726f34" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/staabm/side-effects-detector/zipball/d8334211a140ce329c13726d4a715adbddd0a163", - "reference": "d8334211a140ce329c13726d4a715adbddd0a163", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/2dd18582c5f6c024db9fc0ff9c76d873af726f34", + "reference": "2dd18582c5f6c024db9fc0ff9c76d873af726f34", "shasum": "" }, "require": { - "ext-tokenizer": "*", - "php": "^7.4 || ^8.0" + "php": ">=8.4.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-deepclone": "^1.37" }, "require-dev": { - "phpstan/extension-installer": "^1.4.3", - "phpstan/phpstan": "^1.12.6", - "phpunit/phpunit": "^9.6.21", - "symfony/var-dumper": "^5.4.43", - "tomasvotruba/type-coverage": "1.0.0", - "tomasvotruba/unused-public": "1.0.0" + "symfony/property-access": "^7.4|^8.0", + "symfony/serializer": "^7.4|^8.0", + "symfony/var-dumper": "^7.4|^8.0" }, "type": "library", "autoload": { - "classmap": [ - "lib/" + "psr-4": { + "Symfony\\Component\\VarExporter\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "description": "A static analysis tool to detect side effects in PHP code", + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides tools to export, instantiate, hydrate, clone and lazy-load PHP objects", + "homepage": "https://symfony.com", "keywords": [ - "static analysis" + "clone", + "construct", + "deep-clone", + "export", + "hydrate", + "instantiate", + "lazy-loading", + "proxy", + "serialize" ], "support": { - "issues": "https://github.com/staabm/side-effects-detector/issues", - "source": "https://github.com/staabm/side-effects-detector/tree/1.0.5" + "source": "https://github.com/symfony/var-exporter/tree/v8.1.0" }, "funding": [ { - "url": "https://github.com/staabm", + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://github.com/nicolas-grekas", "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" } ], - "time": "2024-10-20T05:08:20+00:00" + "time": "2026-05-29T05:06:50+00:00" }, { "name": "symfony/yaml", - "version": "v8.0.8", + "version": "v7.4.13", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "54174ab48c0c0f9e21512b304be17f8150ccf8f1" + "reference": "a7ec3b1156faf8815db7683ec7c1e7338e6f977c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/54174ab48c0c0f9e21512b304be17f8150ccf8f1", - "reference": "54174ab48c0c0f9e21512b304be17f8150ccf8f1", + "url": "https://api.github.com/repos/symfony/yaml/zipball/a7ec3b1156faf8815db7683ec7c1e7338e6f977c", + "reference": "a7ec3b1156faf8815db7683ec7c1e7338e6f977c", "shasum": "" }, "require": { - "php": ">=8.4", + "php": ">=8.2", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-ctype": "^1.8" }, "conflict": { - "symfony/console": "<7.4" + "symfony/console": "<6.4" }, "require-dev": { - "symfony/console": "^7.4|^8.0" + "symfony/console": "^6.4|^7.0|^8.0" }, "bin": [ "Resources/bin/yaml-lint" @@ -8305,7 +9779,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v8.0.8" + "source": "https://github.com/symfony/yaml/tree/v7.4.13" }, "funding": [ { @@ -8325,7 +9799,7 @@ "type": "tidelift" } ], - "time": "2026-03-30T15:14:47+00:00" + "time": "2026-05-25T06:06:12+00:00" }, { "name": "theseer/tokenizer", diff --git a/legacy/composer.json b/legacy/composer.json deleted file mode 100644 index 4c750fa8d..000000000 --- a/legacy/composer.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "name": "opencats/opencats", - "description": "Free and open source candidate/applicant tracking system for recruiters.", - "type": "project", - "require": { - "php": "^7.4", - "ckeditor/ckeditor": "^4.25.1", - "neutron/sphinxsearch-api": "^2.0.8", - "phpmailer/phpmailer": "^7.0.2", - "setasign/fpdf": "^1.9.0" - }, - "require-dev": { - "behat/behat": "^3.15.0", - "behat/mink": "^1.13.0", - "friends-of-behat/mink-extension": "^2.7.5", - "behat/mink-browserkit-driver": "^2.3.0", - "behat/mink-selenium2-driver": "^1.7.0", - "phpunit/phpunit": "^9.6.34" - }, - "autoload": { - "psr-4": { - "OpenCATS\\": "src/OpenCATS/" - } - } -} diff --git a/legacy/composer.lock b/legacy/composer.lock deleted file mode 100644 index 6441e5b2f..000000000 --- a/legacy/composer.lock +++ /dev/null @@ -1,4451 +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": "901e6d048a03e4e220844866e5674905", - "packages": [ - { - "name": "ckeditor/ckeditor", - "version": "4.25.1", - "source": { - "type": "git", - "url": "https://github.com/ckeditor/ckeditor4-releases.git", - "reference": "3fa1987d35342526e4eb2e64f6ec7172561b7328" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ckeditor/ckeditor4-releases/zipball/3fa1987d35342526e4eb2e64f6ec7172561b7328", - "reference": "3fa1987d35342526e4eb2e64f6ec7172561b7328", - "shasum": "" - }, - "type": "library", - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0+", - "LGPL-2.1+", - "MPL-1.1+" - ], - "authors": [ - { - "name": "CKSource", - "homepage": "https://cksource.com" - } - ], - "description": "JavaScript WYSIWYG web text editor.", - "homepage": "https://ckeditor.com/ckeditor-4/", - "keywords": [ - "CKEditor", - "ckeditor4", - "editor", - "fckeditor", - "html", - "javascript", - "richtext", - "text", - "wysiwyg" - ], - "support": { - "forum": "https://stackoverflow.com/tags/ckeditor", - "issues": "https://github.com/ckeditor/ckeditor4/issues", - "source": "https://github.com/ckeditor/ckeditor4", - "wiki": "https://ckeditor.com/docs/ckeditor4/latest/" - }, - "time": "2025-02-05T12:32:07+00:00" - }, - { - "name": "neutron/sphinxsearch-api", - "version": "2.0.8.1", - "source": { - "type": "git", - "url": "https://github.com/romainneutron/Sphinx-Search-API-PHP-Client.git", - "reference": "a18fd84951ea1fb006387e2d099d025235b14d34" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/romainneutron/Sphinx-Search-API-PHP-Client/zipball/a18fd84951ea1fb006387e2d099d025235b14d34", - "reference": "a18fd84951ea1fb006387e2d099d025235b14d34", - "shasum": "" - }, - "require": { - "php": ">=4" - }, - "type": "library", - "autoload": { - "classmap": [ - "sphinxapi.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL" - ], - "authors": [ - { - "name": "Andrew Aksyonoff", - "homepage": "http://sphinxsearch.com/" - } - ], - "description": "SphinxSearch PHP API", - "homepage": "http://sphinxsearch.com/", - "keywords": [ - "Sphinx Search", - "api", - "search-engine" - ], - "support": { - "issues": "https://github.com/romainneutron/Sphinx-Search-API-PHP-Client/issues", - "source": "https://github.com/romainneutron/Sphinx-Search-API-PHP-Client/tree/master" - }, - "time": "2018-07-09T14:18:54+00:00" - }, - { - "name": "phpmailer/phpmailer", - "version": "v7.1.1", - "source": { - "type": "git", - "url": "https://github.com/PHPMailer/PHPMailer.git", - "reference": "1bc1716a507a65e039d4ac9d9adebbbd0d346e15" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/1bc1716a507a65e039d4ac9d9adebbbd0d346e15", - "reference": "1bc1716a507a65e039d4ac9d9adebbbd0d346e15", - "shasum": "" - }, - "require": { - "ext-ctype": "*", - "ext-filter": "*", - "ext-hash": "*", - "php": ">=5.5.0" - }, - "require-dev": { - "dealerdirect/phpcodesniffer-composer-installer": "^1.0", - "doctrine/annotations": "^1.2.6 || ^1.13.3", - "php-parallel-lint/php-console-highlighter": "^1.0.0", - "php-parallel-lint/php-parallel-lint": "^1.3.2", - "phpcompatibility/php-compatibility": "^10.0.0@dev", - "squizlabs/php_codesniffer": "^3.13.5", - "yoast/phpunit-polyfills": "^1.0.4" - }, - "suggest": { - "decomplexity/SendOauth2": "Adapter for using XOAUTH2 authentication", - "directorytree/imapengine": "For uploading sent messages via IMAP, see gmail example", - "ext-imap": "Needed to support advanced email address parsing according to RFC822", - "ext-mbstring": "Needed to send email in multibyte encoding charset or decode encoded addresses", - "ext-openssl": "Needed for secure SMTP sending and DKIM signing", - "greew/oauth2-azure-provider": "Needed for Microsoft Azure XOAUTH2 authentication", - "hayageek/oauth2-yahoo": "Needed for Yahoo XOAUTH2 authentication", - "league/oauth2-google": "Needed for Google XOAUTH2 authentication", - "psr/log": "For optional PSR-3 debug logging", - "symfony/polyfill-mbstring": "To support UTF-8 if the Mbstring PHP extension is not enabled (^1.2)", - "thenetworg/oauth2-azure": "Needed for Microsoft XOAUTH2 authentication" - }, - "type": "library", - "autoload": { - "psr-4": { - "PHPMailer\\PHPMailer\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-2.1-only" - ], - "authors": [ - { - "name": "Marcus Bointon", - "email": "phpmailer@synchromedia.co.uk" - }, - { - "name": "Jim Jagielski", - "email": "jimjag@gmail.com" - }, - { - "name": "Andy Prevost", - "email": "codeworxtech@users.sourceforge.net" - }, - { - "name": "Brent R. Matzelle" - } - ], - "description": "PHPMailer is a full-featured email creation and transfer class for PHP", - "support": { - "issues": "https://github.com/PHPMailer/PHPMailer/issues", - "source": "https://github.com/PHPMailer/PHPMailer/tree/v7.1.1" - }, - "funding": [ - { - "url": "https://github.com/Synchro", - "type": "github" - } - ], - "time": "2026-05-18T08:06:14+00:00" - }, - { - "name": "setasign/fpdf", - "version": "1.9.0", - "source": { - "type": "git", - "url": "https://github.com/Setasign/FPDF.git", - "reference": "051b70e4c57dedc88df41b1eff1c62894e5f9ed0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Setasign/FPDF/zipball/051b70e4c57dedc88df41b1eff1c62894e5f9ed0", - "reference": "051b70e4c57dedc88df41b1eff1c62894e5f9ed0", - "shasum": "" - }, - "require": { - "ext-gd": "*", - "ext-zlib": "*" - }, - "type": "library", - "autoload": { - "classmap": [ - "fpdf.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Olivier Plathey", - "email": "oliver@fpdf.org", - "homepage": "http://fpdf.org/" - } - ], - "description": "FPDF is a PHP class which allows to generate PDF files with pure PHP. F from FPDF stands for Free: you may use it for any kind of usage and modify it to suit your needs.", - "homepage": "http://www.fpdf.org", - "keywords": [ - "fpdf", - "pdf" - ], - "support": { - "source": "https://github.com/Setasign/FPDF/tree/1.9.0" - }, - "time": "2026-05-31T14:25:29+00:00" - } - ], - "packages-dev": [ - { - "name": "behat/behat", - "version": "v3.15.0", - "source": { - "type": "git", - "url": "https://github.com/Behat/Behat.git", - "reference": "132e32fdad69340f503b103a5ccaf5dd72ce7d83" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Behat/Behat/zipball/132e32fdad69340f503b103a5ccaf5dd72ce7d83", - "reference": "132e32fdad69340f503b103a5ccaf5dd72ce7d83", - "shasum": "" - }, - "require": { - "behat/gherkin": "^4.10.0", - "behat/transliterator": "^1.2", - "ext-mbstring": "*", - "php": "^7.2 || ^8.0", - "psr/container": "^1.0 || ^2.0", - "symfony/config": "^4.4 || ^5.0 || ^6.0 || ^7.0", - "symfony/console": "^4.4 || ^5.0 || ^6.0 || ^7.0", - "symfony/dependency-injection": "^4.4 || ^5.0 || ^6.0 || ^7.0", - "symfony/event-dispatcher": "^4.4 || ^5.0 || ^6.0 || ^7.0", - "symfony/translation": "^4.4 || ^5.0 || ^6.0 || ^7.0", - "symfony/yaml": "^4.4 || ^5.0 || ^6.0 || ^7.0" - }, - "require-dev": { - "herrera-io/box": "~1.6.1", - "phpunit/phpunit": "^8.5 || ^9.0", - "symfony/process": "^4.4 || ^5.0 || ^6.0 || ^7.0", - "vimeo/psalm": "^4.8" - }, - "suggest": { - "ext-dom": "Needed to output test results in JUnit format." - }, - "bin": [ - "bin/behat" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Behat\\Hook\\": "src/Behat/Hook/", - "Behat\\Step\\": "src/Behat/Step/", - "Behat\\Behat\\": "src/Behat/Behat/", - "Behat\\Testwork\\": "src/Behat/Testwork/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" - } - ], - "description": "Scenario-oriented BDD framework for PHP", - "homepage": "https://behat.org/", - "keywords": [ - "Agile", - "BDD", - "ScenarioBDD", - "Scrum", - "StoryBDD", - "User story", - "business", - "development", - "documentation", - "examples", - "symfony", - "testing" - ], - "support": { - "issues": "https://github.com/Behat/Behat/issues", - "source": "https://github.com/Behat/Behat/tree/v3.15.0" - }, - "time": "2024-10-30T07:54:51+00:00" - }, - { - "name": "behat/gherkin", - "version": "v4.10.0", - "source": { - "type": "git", - "url": "https://github.com/Behat/Gherkin.git", - "reference": "cbb83c4c435dd8d05a161f2a5ae322e61b2f4db6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Behat/Gherkin/zipball/cbb83c4c435dd8d05a161f2a5ae322e61b2f4db6", - "reference": "cbb83c4c435dd8d05a161f2a5ae322e61b2f4db6", - "shasum": "" - }, - "require": { - "php": "~7.2|~8.0" - }, - "require-dev": { - "cucumber/cucumber": "dev-gherkin-24.1.0", - "phpunit/phpunit": "~8|~9", - "symfony/yaml": "~3|~4|~5|~6|~7" - }, - "suggest": { - "symfony/yaml": "If you want to parse features, represented in YAML files" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.x-dev" - } - }, - "autoload": { - "psr-0": { - "Behat\\Gherkin": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" - } - ], - "description": "Gherkin DSL parser for PHP", - "homepage": "http://behat.org/", - "keywords": [ - "BDD", - "Behat", - "Cucumber", - "DSL", - "gherkin", - "parser" - ], - "support": { - "issues": "https://github.com/Behat/Gherkin/issues", - "source": "https://github.com/Behat/Gherkin/tree/v4.10.0" - }, - "time": "2024-10-19T14:46:06+00:00" - }, - { - "name": "behat/mink", - "version": "v1.13.0", - "source": { - "type": "git", - "url": "https://github.com/minkphp/Mink.git", - "reference": "9b08f62937c173affe070c04bb072d7ea1db1be5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/minkphp/Mink/zipball/9b08f62937c173affe070c04bb072d7ea1db1be5", - "reference": "9b08f62937c173affe070c04bb072d7ea1db1be5", - "shasum": "" - }, - "require": { - "php": ">=7.2", - "symfony/css-selector": "^4.4 || ^5.0 || ^6.0 || ^7.0 || ^8.0" - }, - "require-dev": { - "jetbrains/phpstorm-attributes": "*", - "phpstan/phpstan": "^1.12.32", - "phpstan/phpstan-phpunit": "^1.3", - "phpunit/phpunit": "^8.5.22 || ^9.5.11", - "symfony/error-handler": "^4.4 || ^5.0 || ^6.0 || ^7.0 || ^8.0", - "symfony/phpunit-bridge": "^5.4 || ^6.0 || ^7.0 || ^8.0" - }, - "suggest": { - "behat/mink-browserkit-driver": "fast headless driver for any app without JS emulation", - "behat/mink-selenium2-driver": "slow, but JS-enabled driver for any app (requires Selenium2)", - "behat/mink-zombie-driver": "fast and JS-enabled headless driver for any app (requires node.js)", - "dmore/chrome-mink-driver": "fast and JS-enabled driver for any app (requires chromium or google chrome)" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Behat\\Mink\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" - } - ], - "description": "Browser controller/emulator abstraction for PHP", - "homepage": "https://mink.behat.org/", - "keywords": [ - "browser", - "testing", - "web" - ], - "support": { - "issues": "https://github.com/minkphp/Mink/issues", - "source": "https://github.com/minkphp/Mink/tree/v1.13.0" - }, - "time": "2025-11-22T12:18:15+00:00" - }, - { - "name": "behat/mink-browserkit-driver", - "version": "v2.3.0", - "source": { - "type": "git", - "url": "https://github.com/minkphp/MinkBrowserKitDriver.git", - "reference": "d361516cba6e684bdc4518b9c044edc77f249e36" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/minkphp/MinkBrowserKitDriver/zipball/d361516cba6e684bdc4518b9c044edc77f249e36", - "reference": "d361516cba6e684bdc4518b9c044edc77f249e36", - "shasum": "" - }, - "require": { - "behat/mink": "^1.11.0@dev", - "ext-dom": "*", - "php": ">=7.2", - "symfony/browser-kit": "^4.4 || ^5.0 || ^6.0 || ^7.0 || ^8.0", - "symfony/dom-crawler": "^4.4 || ^5.0 || ^6.0 || ^7.0 || ^8.0" - }, - "require-dev": { - "mink/driver-testsuite": "dev-master", - "phpstan/phpstan": "^1.10", - "phpstan/phpstan-phpunit": "^1.3", - "phpunit/phpunit": "^8.5 || ^9.5", - "symfony/error-handler": "^4.4 || ^5.0 || ^6.0 || ^7.0 || ^8.0", - "symfony/http-client": "^4.4 || ^5.0 || ^6.0 || ^7.0 || ^8.0", - "symfony/http-kernel": "^4.4 || ^5.0 || ^6.0 || ^7.0 || ^8.0", - "symfony/mime": "^4.4 || ^5.0 || ^6.0 || ^7.0 || ^8.0", - "yoast/phpunit-polyfills": "^1.0" - }, - "type": "mink-driver", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - } - }, - "autoload": { - "psr-4": { - "Behat\\Mink\\Driver\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" - } - ], - "description": "Symfony2 BrowserKit driver for Mink framework", - "homepage": "https://mink.behat.org/", - "keywords": [ - "Mink", - "Symfony2", - "browser", - "testing" - ], - "support": { - "issues": "https://github.com/minkphp/MinkBrowserKitDriver/issues", - "source": "https://github.com/minkphp/MinkBrowserKitDriver/tree/v2.3.0" - }, - "time": "2025-11-22T12:42:18+00:00" - }, - { - "name": "behat/mink-selenium2-driver", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/minkphp/MinkSelenium2Driver.git", - "reference": "4ca4083f305de7dff4434ac402dc4e3f39c0866a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/minkphp/MinkSelenium2Driver/zipball/4ca4083f305de7dff4434ac402dc4e3f39c0866a", - "reference": "4ca4083f305de7dff4434ac402dc4e3f39c0866a", - "shasum": "" - }, - "require": { - "behat/mink": "^1.11@dev", - "ext-json": "*", - "instaclick/php-webdriver": "^1.4.14", - "php": ">=7.2" - }, - "require-dev": { - "mink/driver-testsuite": "dev-master", - "phpstan/phpstan": "^1.10", - "phpstan/phpstan-phpunit": "^1.3", - "phpunit/phpunit": "^8.5.22 || ^9.5.11", - "symfony/error-handler": "^4.4 || ^5.0 || ^6.0 || ^7.0" - }, - "type": "mink-driver", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Behat\\Mink\\Driver\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Pete Otaqui", - "email": "pete@otaqui.com", - "homepage": "https://github.com/pete-otaqui" - }, - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" - } - ], - "description": "Selenium2 (WebDriver) driver for Mink framework", - "homepage": "https://mink.behat.org/", - "keywords": [ - "ajax", - "browser", - "javascript", - "selenium", - "testing", - "webdriver" - ], - "support": { - "issues": "https://github.com/minkphp/MinkSelenium2Driver/issues", - "source": "https://github.com/minkphp/MinkSelenium2Driver/tree/v1.7.0" - }, - "time": "2023-12-09T11:58:45+00:00" - }, - { - "name": "behat/transliterator", - "version": "v1.5.0", - "source": { - "type": "git", - "url": "https://github.com/Behat/Transliterator.git", - "reference": "baac5873bac3749887d28ab68e2f74db3a4408af" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Behat/Transliterator/zipball/baac5873bac3749887d28ab68e2f74db3a4408af", - "reference": "baac5873bac3749887d28ab68e2f74db3a4408af", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "require-dev": { - "chuyskywalker/rolling-curl": "^3.1", - "php-yaoi/php-yaoi": "^1.0", - "phpunit/phpunit": "^8.5.25 || ^9.5.19" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Behat\\Transliterator\\": "src/Behat/Transliterator" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Artistic-1.0" - ], - "description": "String transliterator", - "keywords": [ - "i18n", - "slug", - "transliterator" - ], - "support": { - "issues": "https://github.com/Behat/Transliterator/issues", - "source": "https://github.com/Behat/Transliterator/tree/v1.5.0" - }, - "abandoned": true, - "time": "2022-03-30T09:27:43+00:00" - }, - { - "name": "doctrine/instantiator", - "version": "1.5.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/0a0fa9780f5d4e507415a065172d26a98d02047b", - "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "require-dev": { - "doctrine/coding-standard": "^9 || ^11", - "ext-pdo": "*", - "ext-phar": "*", - "phpbench/phpbench": "^0.16 || ^1", - "phpstan/phpstan": "^1.4", - "phpstan/phpstan-phpunit": "^1", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "vimeo/psalm": "^4.30 || ^5.4" - }, - "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.5.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": "2022-12-30T00:15:36+00:00" - }, - { - "name": "friends-of-behat/mink-extension", - "version": "v2.7.5", - "source": { - "type": "git", - "url": "https://github.com/FriendsOfBehat/MinkExtension.git", - "reference": "854336030e11983f580f49faad1b49a1238f9846" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/FriendsOfBehat/MinkExtension/zipball/854336030e11983f580f49faad1b49a1238f9846", - "reference": "854336030e11983f580f49faad1b49a1238f9846", - "shasum": "" - }, - "require": { - "behat/behat": "^3.0.5", - "behat/mink": "^1.5", - "php": ">=7.4", - "symfony/config": "^4.4 || ^5.0 || ^6.0 || ^7.0" - }, - "replace": { - "behat/mink-extension": "self.version" - }, - "require-dev": { - "behat/mink-goutte-driver": "^1.1 || ^2.0", - "phpspec/phpspec": "^6.0 || ^7.0 || 7.1.x-dev" - }, - "type": "behat-extension", - "extra": { - "branch-alias": { - "dev-master": "2.1.x-dev" - } - }, - "autoload": { - "psr-0": { - "Behat\\MinkExtension": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com" - }, - { - "name": "Christophe Coevoet", - "email": "stof@notk.org" - } - ], - "description": "Mink extension for Behat", - "homepage": "http://extensions.behat.org/mink", - "keywords": [ - "browser", - "gui", - "test", - "web" - ], - "support": { - "issues": "https://github.com/FriendsOfBehat/MinkExtension/issues", - "source": "https://github.com/FriendsOfBehat/MinkExtension/tree/v2.7.5" - }, - "time": "2024-01-11T09:12:02+00:00" - }, - { - "name": "instaclick/php-webdriver", - "version": "1.4.20", - "source": { - "type": "git", - "url": "https://github.com/instaclick/php-webdriver.git", - "reference": "981db0846ff4ac5be0301d609e36e2f023e74301" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/instaclick/php-webdriver/zipball/981db0846ff4ac5be0301d609e36e2f023e74301", - "reference": "981db0846ff4ac5be0301d609e36e2f023e74301", - "shasum": "" - }, - "require": { - "ext-curl": "*", - "php": ">=5.3.2" - }, - "require-dev": { - "phpunit/phpunit": "^8.5 || ^9.5", - "satooshi/php-coveralls": "^1.0 || ^2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.4.x-dev" - } - }, - "autoload": { - "psr-0": { - "WebDriver": "lib/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Justin Bishop", - "email": "jubishop@gmail.com", - "role": "Developer" - }, - { - "name": "Anthon Pang", - "email": "apang@softwaredevelopment.ca", - "role": "Fork Maintainer" - } - ], - "description": "PHP WebDriver for Selenium 2", - "homepage": "http://instaclick.com/", - "keywords": [ - "browser", - "selenium", - "webdriver", - "webtest" - ], - "support": { - "issues": "https://github.com/instaclick/php-webdriver/issues", - "source": "https://github.com/instaclick/php-webdriver/tree/1.4.20" - }, - "time": "2025-12-04T11:20:11+00:00" - }, - { - "name": "myclabs/deep-copy", - "version": "1.13.4", - "source": { - "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/07d290f0c47959fd5eed98c95ee5602db07e0b6a", - "reference": "07d290f0c47959fd5eed98c95ee5602db07e0b6a", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "conflict": { - "doctrine/collections": "<1.6.8", - "doctrine/common": "<2.13.3 || >=3 <3.2.2" - }, - "require-dev": { - "doctrine/collections": "^1.6.8", - "doctrine/common": "^2.13.3 || ^3.2.2", - "phpspec/prophecy": "^1.10", - "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" - }, - "type": "library", - "autoload": { - "files": [ - "src/DeepCopy/deep_copy.php" - ], - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - } - }, - "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.13.4" - }, - "funding": [ - { - "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", - "type": "tidelift" - } - ], - "time": "2025-08-01T08:46:24+00:00" - }, - { - "name": "nikic/php-parser", - "version": "v5.7.0", - "source": { - "type": "git", - "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/dca41cd15c2ac9d055ad70dbfd011130757d1f82", - "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82", - "shasum": "" - }, - "require": { - "ext-ctype": "*", - "ext-json": "*", - "ext-tokenizer": "*", - "php": ">=7.4" - }, - "require-dev": { - "ircmaxell/php-yacc": "^0.0.7", - "phpunit/phpunit": "^9.0" - }, - "bin": [ - "bin/php-parse" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.x-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/v5.7.0" - }, - "time": "2025-12-06T11:56:16+00:00" - }, - { - "name": "phar-io/manifest", - "version": "2.0.4", - "source": { - "type": "git", - "url": "https://github.com/phar-io/manifest.git", - "reference": "54750ef60c58e43759730615a392c31c80e23176" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176", - "reference": "54750ef60c58e43759730615a392c31c80e23176", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-libxml": "*", - "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.4" - }, - "funding": [ - { - "url": "https://github.com/theseer", - "type": "github" - } - ], - "time": "2024-03-03T12:33:53+00:00" - }, - { - "name": "phar-io/version", - "version": "3.2.1", - "source": { - "type": "git", - "url": "https://github.com/phar-io/version.git", - "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", - "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", - "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.2.1" - }, - "time": "2022-02-21T01:04:05+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "9.2.32", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "85402a822d1ecf1db1096959413d35e1c37cf1a5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/85402a822d1ecf1db1096959413d35e1c37cf1a5", - "reference": "85402a822d1ecf1db1096959413d35e1c37cf1a5", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-libxml": "*", - "ext-xmlwriter": "*", - "nikic/php-parser": "^4.19.1 || ^5.1.0", - "php": ">=7.3", - "phpunit/php-file-iterator": "^3.0.6", - "phpunit/php-text-template": "^2.0.4", - "sebastian/code-unit-reverse-lookup": "^2.0.3", - "sebastian/complexity": "^2.0.3", - "sebastian/environment": "^5.1.5", - "sebastian/lines-of-code": "^1.0.4", - "sebastian/version": "^3.0.2", - "theseer/tokenizer": "^1.2.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.6" - }, - "suggest": { - "ext-pcov": "PHP extension that provides line coverage", - "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "9.2.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 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", - "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.32" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-08-22T04:23:01+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "3.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", - "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", - "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.6" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2021-12-02T12:48:52+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.6.34", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "b36f02317466907a230d3aa1d34467041271ef4a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b36f02317466907a230d3aa1d34467041271ef4a", - "reference": "b36f02317466907a230d3aa1d34467041271ef4a", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.5.0 || ^2", - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-xml": "*", - "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.13.4", - "phar-io/manifest": "^2.0.4", - "phar-io/version": "^3.2.1", - "php": ">=7.3", - "phpunit/php-code-coverage": "^9.2.32", - "phpunit/php-file-iterator": "^3.0.6", - "phpunit/php-invoker": "^3.1.1", - "phpunit/php-text-template": "^2.0.4", - "phpunit/php-timer": "^5.0.3", - "sebastian/cli-parser": "^1.0.2", - "sebastian/code-unit": "^1.0.8", - "sebastian/comparator": "^4.0.10", - "sebastian/diff": "^4.0.6", - "sebastian/environment": "^5.1.5", - "sebastian/exporter": "^4.0.8", - "sebastian/global-state": "^5.0.8", - "sebastian/object-enumerator": "^4.0.4", - "sebastian/resource-operations": "^3.0.4", - "sebastian/type": "^3.2.1", - "sebastian/version": "^3.0.2" - }, - "suggest": { - "ext-soap": "To be able to generate mocks based on WSDL files", - "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "9.6-dev" - } - }, - "autoload": { - "files": [ - "src/Framework/Assert/Functions.php" - ], - "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" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.34" - }, - "funding": [ - { - "url": "https://phpunit.de/sponsors.html", - "type": "custom" - }, - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" - }, - { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", - "type": "tidelift" - } - ], - "time": "2026-01-27T05:45:00+00:00" - }, - { - "name": "psr/container", - "version": "1.1.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "513e0666f7216c7459170d56df27dfcefe1689ea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea", - "reference": "513e0666f7216c7459170d56df27dfcefe1689ea", - "shasum": "" - }, - "require": { - "php": ">=7.4.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.2" - }, - "time": "2021-11-05T16:50:12+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": "sebastian/cli-parser", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/2b56bea83a09de3ac06bb18b92f068e60cc6f50b", - "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b", - "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.2" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-03-02T06:27:43+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.10", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "e4df00b9b3571187db2831ae9aada2c6efbd715d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/e4df00b9b3571187db2831ae9aada2c6efbd715d", - "reference": "e4df00b9b3571187db2831ae9aada2c6efbd715d", - "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.10" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" - }, - { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" - }, - { - "url": "https://tidelift.com/funding/github/packagist/sebastian/comparator", - "type": "tidelift" - } - ], - "time": "2026-01-24T09:22:56+00:00" - }, - { - "name": "sebastian/complexity", - "version": "2.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/25f207c40d62b8b7aa32f5ab026c53561964053a", - "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a", - "shasum": "" - }, - "require": { - "nikic/php-parser": "^4.18 || ^5.0", - "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.3" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-12-22T06:19:30+00:00" - }, - { - "name": "sebastian/diff", - "version": "4.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ba01945089c3a293b01ba9badc29ad55b106b0bc", - "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc", - "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.6" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-03-02T06:30:58+00:00" - }, - { - "name": "sebastian/environment", - "version": "5.1.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", - "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", - "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.5" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T06:03:51+00:00" - }, - { - "name": "sebastian/exporter", - "version": "4.0.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "14c6ba52f95a36c3d27c835d65efc7123c446e8c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/14c6ba52f95a36c3d27c835d65efc7123c446e8c", - "reference": "14c6ba52f95a36c3d27c835d65efc7123c446e8c", - "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": "https://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.8" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" - }, - { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" - }, - { - "url": "https://tidelift.com/funding/github/packagist/sebastian/exporter", - "type": "tidelift" - } - ], - "time": "2025-09-24T06:03:27+00:00" - }, - { - "name": "sebastian/global-state", - "version": "5.0.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "b6781316bdcd28260904e7cc18ec983d0d2ef4f6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/b6781316bdcd28260904e7cc18ec983d0d2ef4f6", - "reference": "b6781316bdcd28260904e7cc18ec983d0d2ef4f6", - "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.8" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" - }, - { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" - }, - { - "url": "https://tidelift.com/funding/github/packagist/sebastian/global-state", - "type": "tidelift" - } - ], - "time": "2025-08-10T07:10:35+00:00" - }, - { - "name": "sebastian/lines-of-code", - "version": "1.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/e1e4a170560925c26d424b6a03aed157e7dcc5c5", - "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5", - "shasum": "" - }, - "require": { - "nikic/php-parser": "^4.18 || ^5.0", - "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.4" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-12-22T06:20:34+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.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "539c6691e0623af6dc6f9c20384c120f963465a0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/539c6691e0623af6dc6f9c20384c120f963465a0", - "reference": "539c6691e0623af6dc6f9c20384c120f963465a0", - "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": "https://github.com/sebastianbergmann/recursion-context", - "support": { - "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.6" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://liberapay.com/sebastianbergmann", - "type": "liberapay" - }, - { - "url": "https://thanks.dev/u/gh/sebastianbergmann", - "type": "thanks_dev" - }, - { - "url": "https://tidelift.com/funding/github/packagist/sebastian/recursion-context", - "type": "tidelift" - } - ], - "time": "2025-08-10T06:57:39+00:00" - }, - { - "name": "sebastian/resource-operations", - "version": "3.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "05d5692a7993ecccd56a03e40cd7e5b09b1d404e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/05d5692a7993ecccd56a03e40cd7e5b09b1d404e", - "reference": "05d5692a7993ecccd56a03e40cd7e5b09b1d404e", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "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": { - "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.4" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-03-14T16:00:52+00:00" - }, - { - "name": "sebastian/type", - "version": "3.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/type.git", - "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", - "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.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": "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/3.2.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T06:13:03+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/browser-kit", - "version": "v4.4.44", - "source": { - "type": "git", - "url": "https://github.com/symfony/browser-kit.git", - "reference": "2a1ff40723ef6b29c8229a860a9c8f815ad7dbbb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/2a1ff40723ef6b29c8229a860a9c8f815ad7dbbb", - "reference": "2a1ff40723ef6b29c8229a860a9c8f815ad7dbbb", - "shasum": "" - }, - "require": { - "php": ">=7.1.3", - "symfony/dom-crawler": "^3.4|^4.0|^5.0", - "symfony/polyfill-php80": "^1.16" - }, - "require-dev": { - "symfony/css-selector": "^3.4|^4.0|^5.0", - "symfony/http-client": "^4.3|^5.0", - "symfony/mime": "^4.3|^5.0", - "symfony/process": "^3.4|^4.0|^5.0" - }, - "suggest": { - "symfony/process": "" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\BrowserKit\\": "" - }, - "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": "Simulates the behavior of a web browser, allowing you to make requests, click on links and submit forms programmatically", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/browser-kit/tree/v4.4.44" - }, - "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": "2022-07-25T12:56:14+00:00" - }, - { - "name": "symfony/config", - "version": "v5.4.46", - "source": { - "type": "git", - "url": "https://github.com/symfony/config.git", - "reference": "977c88a02d7d3f16904a81907531b19666a08e78" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/977c88a02d7d3f16904a81907531b19666a08e78", - "reference": "977c88a02d7d3f16904a81907531b19666a08e78", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/filesystem": "^4.4|^5.0|^6.0", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-php80": "^1.16", - "symfony/polyfill-php81": "^1.22" - }, - "conflict": { - "symfony/finder": "<4.4" - }, - "require-dev": { - "symfony/event-dispatcher": "^4.4|^5.0|^6.0", - "symfony/finder": "^4.4|^5.0|^6.0", - "symfony/messenger": "^4.4|^5.0|^6.0", - "symfony/service-contracts": "^1.1|^2|^3", - "symfony/yaml": "^4.4|^5.0|^6.0" - }, - "suggest": { - "symfony/yaml": "To use the yaml reference dumper" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Config\\": "" - }, - "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": "Helps you find, load, combine, autofill and validate configuration values of any kind", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/config/tree/v5.4.46" - }, - "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": "2024-10-30T07:58:02+00:00" - }, - { - "name": "symfony/console", - "version": "v5.4.47", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "c4ba980ca61a9eb18ee6bcc73f28e475852bb1ed" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/c4ba980ca61a9eb18ee6bcc73f28e475852bb1ed", - "reference": "c4ba980ca61a9eb18ee6bcc73f28e475852bb1ed", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php73": "^1.9", - "symfony/polyfill-php80": "^1.16", - "symfony/service-contracts": "^1.1|^2|^3", - "symfony/string": "^5.1|^6.0" - }, - "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|^6.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/event-dispatcher": "^4.4|^5.0|^6.0", - "symfony/lock": "^4.4|^5.0|^6.0", - "symfony/process": "^4.4|^5.0|^6.0", - "symfony/var-dumper": "^4.4|^5.0|^6.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.4.47" - }, - "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": "2024-11-06T11:30:55+00:00" - }, - { - "name": "symfony/css-selector", - "version": "v5.4.45", - "source": { - "type": "git", - "url": "https://github.com/symfony/css-selector.git", - "reference": "4f7f3c35fba88146b56d0025d20ace3f3901f097" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/4f7f3c35fba88146b56d0025d20ace3f3901f097", - "reference": "4f7f3c35fba88146b56d0025d20ace3f3901f097", - "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.4.45" - }, - "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": "2024-09-25T14:11:13+00:00" - }, - { - "name": "symfony/dependency-injection", - "version": "v5.4.48", - "source": { - "type": "git", - "url": "https://github.com/symfony/dependency-injection.git", - "reference": "e5ca16dee39ef7d63e552ff0bf0a2526a1142c92" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/e5ca16dee39ef7d63e552ff0bf0a2526a1142c92", - "reference": "e5ca16dee39ef7d63e552ff0bf0a2526a1142c92", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "psr/container": "^1.1.1", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php80": "^1.16", - "symfony/polyfill-php81": "^1.22", - "symfony/service-contracts": "^1.1.6|^2" - }, - "conflict": { - "ext-psr": "<1.1|>=2", - "symfony/config": "<5.3", - "symfony/finder": "<4.4", - "symfony/proxy-manager-bridge": "<4.4", - "symfony/yaml": "<4.4.26" - }, - "provide": { - "psr/container-implementation": "1.0", - "symfony/service-implementation": "1.0|2.0" - }, - "require-dev": { - "symfony/config": "^5.3|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/yaml": "^4.4.26|^5.0|^6.0" - }, - "suggest": { - "symfony/config": "", - "symfony/expression-language": "For using expressions in service container configuration", - "symfony/finder": "For using double-star glob patterns or when GLOB_BRACE portability is required", - "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them", - "symfony/yaml": "" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\DependencyInjection\\": "" - }, - "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 you to standardize and centralize the way objects are constructed in your application", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/dependency-injection/tree/v5.4.48" - }, - "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": "2024-11-20T10:51:57+00:00" - }, - { - "name": "symfony/deprecation-contracts", - "version": "v2.5.4", - "source": { - "type": "git", - "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "605389f2a7e5625f273b53960dc46aeaf9c62918" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/605389f2a7e5625f273b53960dc46aeaf9c62918", - "reference": "605389f2a7e5625f273b53960dc46aeaf9c62918", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/contracts", - "name": "symfony/contracts" - }, - "branch-alias": { - "dev-main": "2.5-dev" - } - }, - "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.5.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": "2024-09-25T14:11:13+00:00" - }, - { - "name": "symfony/dom-crawler", - "version": "v4.4.45", - "source": { - "type": "git", - "url": "https://github.com/symfony/dom-crawler.git", - "reference": "4b8daf6c56801e6d664224261cb100b73edc78a5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/4b8daf6c56801e6d664224261cb100b73edc78a5", - "reference": "4b8daf6c56801e6d664224261cb100b73edc78a5", - "shasum": "" - }, - "require": { - "php": ">=7.1.3", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "^1.16" - }, - "conflict": { - "masterminds/html5": "<2.6" - }, - "require-dev": { - "masterminds/html5": "^2.6", - "symfony/css-selector": "^3.4|^4.0|^5.0" - }, - "suggest": { - "symfony/css-selector": "" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\DomCrawler\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Eases DOM navigation for HTML and XML documents", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/dom-crawler/tree/v4.4.45" - }, - "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": "2022-08-03T12:57:57+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v5.4.45", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "72982eb416f61003e9bb6e91f8b3213600dcf9e9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/72982eb416f61003e9bb6e91f8b3213600dcf9e9", - "reference": "72982eb416f61003e9bb6e91f8b3213600dcf9e9", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/event-dispatcher-contracts": "^2|^3", - "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|^6.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/error-handler": "^4.4|^5.0|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/http-foundation": "^4.4|^5.0|^6.0", - "symfony/service-contracts": "^1.1|^2|^3", - "symfony/stopwatch": "^4.4|^5.0|^6.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.4.45" - }, - "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": "2024-09-25T14:11:13+00:00" - }, - { - "name": "symfony/event-dispatcher-contracts", - "version": "v2.5.4", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "e0fe3d79b516eb75126ac6fa4cbf19b79b08c99f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/e0fe3d79b516eb75126ac6fa4cbf19b79b08c99f", - "reference": "e0fe3d79b516eb75126ac6fa4cbf19b79b08c99f", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "psr/event-dispatcher": "^1" - }, - "suggest": { - "symfony/event-dispatcher-implementation": "" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/contracts", - "name": "symfony/contracts" - }, - "branch-alias": { - "dev-main": "2.5-dev" - } - }, - "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.5.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": "2024-09-25T14:11:13+00:00" - }, - { - "name": "symfony/filesystem", - "version": "v5.4.45", - "source": { - "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "57c8294ed37d4a055b77057827c67f9558c95c54" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/57c8294ed37d4a055b77057827c67f9558c95c54", - "reference": "57c8294ed37d4a055b77057827c67f9558c95c54", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-mbstring": "~1.8", - "symfony/polyfill-php80": "^1.16" - }, - "require-dev": { - "symfony/process": "^5.4|^6.4" - }, - "type": "library", - "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": "Provides basic utilities for the filesystem", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/filesystem/tree/v5.4.45" - }, - "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": "2024-10-22T13:05:35+00:00" - }, - { - "name": "symfony/polyfill-ctype", - "version": "v1.37.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "141046a8f9477948ff284fa65be2095baafb94f2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/141046a8f9477948ff284fa65be2095baafb94f2", - "reference": "141046a8f9477948ff284fa65be2095baafb94f2", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "provide": { - "ext-ctype": "*" - }, - "suggest": { - "ext-ctype": "For best performance" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - } - }, - "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.37.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2026-04-10T16:19:22+00:00" - }, - { - "name": "symfony/polyfill-intl-grapheme", - "version": "v1.37.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "4864388bfbd3001ce88e234fab652acd91fdc57e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/4864388bfbd3001ce88e234fab652acd91fdc57e", - "reference": "4864388bfbd3001ce88e234fab652acd91fdc57e", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Intl\\Grapheme\\": "" - } - }, - "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.37.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2026-04-26T13:13:48+00:00" - }, - { - "name": "symfony/polyfill-intl-normalizer", - "version": "v1.37.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "3833d7255cc303546435cb650316bff708a1c75c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/3833d7255cc303546435cb650316bff708a1c75c", - "reference": "3833d7255cc303546435cb650316bff708a1c75c", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Intl\\Normalizer\\": "" - }, - "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.37.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-09-09T11:45:10+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.37.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "6a21eb99c6973357967f6ce3708cd55a6bec6315" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6a21eb99c6973357967f6ce3708cd55a6bec6315", - "reference": "6a21eb99c6973357967f6ce3708cd55a6bec6315", - "shasum": "" - }, - "require": { - "ext-iconv": "*", - "php": ">=7.2" - }, - "provide": { - "ext-mbstring": "*" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - } - }, - "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.37.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2026-04-10T17:25:58+00:00" - }, - { - "name": "symfony/polyfill-php73", - "version": "v1.37.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/0f68c03565dcaaf25a890667542e8bd75fe7e5bb", - "reference": "0f68c03565dcaaf25a890667542e8bd75fe7e5bb", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php73\\": "" - }, - "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.37.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-09-09T11:45:10+00:00" - }, - { - "name": "symfony/polyfill-php80", - "version": "v1.37.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "dfb55726c3a76ea3b6459fcfda1ec2d80a682411" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/dfb55726c3a76ea3b6459fcfda1ec2d80a682411", - "reference": "dfb55726c3a76ea3b6459fcfda1ec2d80a682411", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" - }, - "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.37.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2026-04-10T16:19:22+00:00" - }, - { - "name": "symfony/polyfill-php81", - "version": "v1.37.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php81.git", - "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", - "reference": "4a4cfc2d253c21a5ad0e53071df248ed48c6ce5c", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php81\\": "" - }, - "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.37.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-09-09T11:45:10+00:00" - }, - { - "name": "symfony/service-contracts", - "version": "v2.5.4", - "source": { - "type": "git", - "url": "https://github.com/symfony/service-contracts.git", - "reference": "f37b419f7aea2e9abf10abd261832cace12e3300" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f37b419f7aea2e9abf10abd261832cace12e3300", - "reference": "f37b419f7aea2e9abf10abd261832cace12e3300", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "psr/container": "^1.1", - "symfony/deprecation-contracts": "^2.1|^3" - }, - "conflict": { - "ext-psr": "<1.1|>=2" - }, - "suggest": { - "symfony/service-implementation": "" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/contracts", - "name": "symfony/contracts" - }, - "branch-alias": { - "dev-main": "2.5-dev" - } - }, - "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.5.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": "2024-09-25T14:11:13+00:00" - }, - { - "name": "symfony/string", - "version": "v5.4.47", - "source": { - "type": "git", - "url": "https://github.com/symfony/string.git", - "reference": "136ca7d72f72b599f2631aca474a4f8e26719799" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/136ca7d72f72b599f2631aca474a4f8e26719799", - "reference": "136ca7d72f72b599f2631aca474a4f8e26719799", - "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" - }, - "conflict": { - "symfony/translation-contracts": ">=3.0" - }, - "require-dev": { - "symfony/error-handler": "^4.4|^5.0|^6.0", - "symfony/http-client": "^4.4|^5.0|^6.0", - "symfony/translation-contracts": "^1.1|^2", - "symfony/var-exporter": "^4.4|^5.0|^6.0" - }, - "type": "library", - "autoload": { - "files": [ - "Resources/functions.php" - ], - "psr-4": { - "Symfony\\Component\\String\\": "" - }, - "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.4.47" - }, - "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": "2024-11-10T20:33:58+00:00" - }, - { - "name": "symfony/translation", - "version": "v5.4.45", - "source": { - "type": "git", - "url": "https://github.com/symfony/translation.git", - "reference": "98f26acc99341ca4bab345fb14d7b1d7cb825bed" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/98f26acc99341ca4bab345fb14d7b1d7cb825bed", - "reference": "98f26acc99341ca4bab345fb14d7b1d7cb825bed", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "^1.16", - "symfony/translation-contracts": "^2.3" - }, - "conflict": { - "symfony/config": "<4.4", - "symfony/console": "<5.3", - "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|^6.0", - "symfony/console": "^5.4|^6.0", - "symfony/dependency-injection": "^5.0|^6.0", - "symfony/finder": "^4.4|^5.0|^6.0", - "symfony/http-client-contracts": "^1.1|^2.0|^3.0", - "symfony/http-kernel": "^5.0|^6.0", - "symfony/intl": "^4.4|^5.0|^6.0", - "symfony/polyfill-intl-icu": "^1.21", - "symfony/service-contracts": "^1.1.2|^2|^3", - "symfony/yaml": "^4.4|^5.0|^6.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.4.45" - }, - "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": "2024-09-25T14:11:13+00:00" - }, - { - "name": "symfony/translation-contracts", - "version": "v2.5.4", - "source": { - "type": "git", - "url": "https://github.com/symfony/translation-contracts.git", - "reference": "450d4172653f38818657022252f9d81be89ee9a8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/450d4172653f38818657022252f9d81be89ee9a8", - "reference": "450d4172653f38818657022252f9d81be89ee9a8", - "shasum": "" - }, - "require": { - "php": ">=7.2.5" - }, - "suggest": { - "symfony/translation-implementation": "" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/contracts", - "name": "symfony/contracts" - }, - "branch-alias": { - "dev-main": "2.5-dev" - } - }, - "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.5.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": "2024-09-25T14:11:13+00:00" - }, - { - "name": "symfony/yaml", - "version": "v5.4.52", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "b0b27055f055f0d314c5c68ed0c10f0bbd90aee0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/b0b27055f055f0d314c5c68ed0c10f0bbd90aee0", - "reference": "b0b27055f055f0d314c5c68ed0c10f0bbd90aee0", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-ctype": "^1.8" - }, - "conflict": { - "symfony/console": "<5.3" - }, - "require-dev": { - "symfony/console": "^5.3|^6.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "bin": [ - "Resources/bin/yaml-lint" - ], - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Yaml\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Loads and dumps YAML files", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/yaml/tree/v5.4.52" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://github.com/nicolas-grekas", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2026-05-15T06:40:16+00:00" - }, - { - "name": "theseer/tokenizer", - "version": "1.3.1", - "source": { - "type": "git", - "url": "https://github.com/theseer/tokenizer.git", - "reference": "b7489ce515e168639d17feec34b8847c326b0b3c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b7489ce515e168639d17feec34b8847c326b0b3c", - "reference": "b7489ce515e168639d17feec34b8847c326b0b3c", - "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.3.1" - }, - "funding": [ - { - "url": "https://github.com/theseer", - "type": "github" - } - ], - "time": "2025-11-17T20:03:58+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": {}, - "prefer-stable": false, - "prefer-lowest": false, - "platform": { - "php": "^7.4" - }, - "platform-dev": {}, - "plugin-api-version": "2.9.0" -} From 0b639ba9e451e08a7e330bae0053dfcaf2fb437c Mon Sep 17 00:00:00 2001 From: anonymoususer72041 <247563575+anonymoususer72041@users.noreply.github.com> Date: Wed, 6 May 2026 13:31:28 +0200 Subject: [PATCH 12/12] Add Laravel legacy application wrapper --- app/Http/Controllers/LegacyController.php | 248 ++++++++++++++++++++++ routes/web.php | 6 +- 2 files changed, 251 insertions(+), 3 deletions(-) create mode 100644 app/Http/Controllers/LegacyController.php diff --git a/app/Http/Controllers/LegacyController.php b/app/Http/Controllers/LegacyController.php new file mode 100644 index 000000000..8334c958a --- /dev/null +++ b/app/Http/Controllers/LegacyController.php @@ -0,0 +1,248 @@ + + */ + private const ENTRY_POINT_MAP = [ + '/' => 'index.php', + '/index.php' => 'index.php', + '/ajax.php' => 'ajax.php', + '/careers' => 'careers/index.php', + '/careers/' => 'careers/index.php', + '/careers/index.php' => 'careers/index.php', + '/rss' => 'rss/index.php', + '/rss/' => 'rss/index.php', + '/rss/index.php' => 'rss/index.php', + '/xml' => 'xml/index.php', + '/xml/' => 'xml/index.php', + '/xml/index.php' => 'xml/index.php', + '/installtest.php' => 'installtest.php', + '/installwizard.php' => 'installwizard.php', + '/rebuild_old_docs.php' => 'rebuild_old_docs.php', + ]; + + public function handle(Request $request): Response + { + [$legacyBasePath, $legacyScriptPath, $legacyScriptName] = $this->resolveLegacyScriptPaths($request); + if ($legacyScriptPath === null || $legacyScriptName === null || $legacyBasePath === null) { + abort(404); + } + + $serverRestoreState = $this->prepareLegacyServerState($request, $legacyBasePath, $legacyScriptPath, $legacyScriptName); + $serverRestoreState = $this->mergeServerBagValues($request, $serverRestoreState); + + $previousDirectory = getcwd(); + $originalHttpStatus = http_response_code(); + $headersBeforeExecution = headers_list(); + $nativeHeaders = []; + $nativeStatus = $originalHttpStatus ?: 200; + $legacyBufferLevel = ob_get_level(); + $legacyExecuted = false; + + ob_start(); + + try { + chdir($legacyBasePath); + + require $legacyScriptPath; + $legacyExecuted = true; + } catch (Throwable $exception) { + while (ob_get_level() > $legacyBufferLevel) { + ob_end_clean(); + } + + throw $exception; + } finally { + $nativeStatus = http_response_code() ?: $nativeStatus; + $headersAfterExecution = headers_list(); + $nativeHeaders = $this->collectLegacyNativeHeaders($headersBeforeExecution, $headersAfterExecution); + $this->clearLegacyNativeHeaders($headersBeforeExecution, $headersAfterExecution); + http_response_code($originalHttpStatus ?: 200); + + $this->restoreLegacyServerState($serverRestoreState); + + if ($previousDirectory !== false) { + chdir($previousDirectory); + } + } + + $content = ''; + if ($legacyExecuted && ob_get_level() > $legacyBufferLevel) { + $content = ob_get_clean() ?: ''; + } + + $responseStatus = $nativeStatus ?: ($originalHttpStatus ?: 200); + $response = response($content, $responseStatus); + + $this->applyNativeHeadersToResponse($response, $nativeHeaders); + + return $response; + } + + private function resolveLegacyEntryPoint(Request $request): ?string + { + $path = $request->getPathInfo(); + + return self::ENTRY_POINT_MAP[$path] ?? null; + } + + /** + * @return array{0: string|null, 1: string|null, 2: string|null} + */ + private function resolveLegacyScriptPaths(Request $request): array + { + $legacyEntryPoint = $this->resolveLegacyEntryPoint($request); + if ($legacyEntryPoint === null) { + return [null, null, null]; + } + + $legacyBasePath = realpath(base_path('legacy')); + if ($legacyBasePath === false) { + return [null, null, null]; + } + + $legacyScriptPath = realpath($legacyBasePath . DIRECTORY_SEPARATOR . ltrim($legacyEntryPoint, '/')); + if ($legacyScriptPath === false || ! is_file($legacyScriptPath)) { + return [null, null, null]; + } + + $legacyBasePrefix = rtrim($legacyBasePath, DIRECTORY_SEPARATOR) . DIRECTORY_SEPARATOR; + if (! str_starts_with($legacyScriptPath, $legacyBasePrefix)) { + return [null, null, null]; + } + + $legacyScriptName = '/' . ltrim($legacyEntryPoint, '/'); + + return [$legacyBasePath, $legacyScriptPath, $legacyScriptName]; + } + + /** + * @return array + */ + private function prepareLegacyServerState( + Request $request, + string $legacyBasePath, + string $legacyScriptPath, + string $legacyScriptName + ): array { + $keys = ['PHP_SELF', 'SCRIPT_NAME', 'SCRIPT_FILENAME', 'REQUEST_URI', 'DOCUMENT_ROOT']; + $originalValues = []; + + foreach ($keys as $key) { + if (array_key_exists($key, $_SERVER)) { + $originalValues[$key] = ['exists' => true, 'value' => $_SERVER[$key]]; + } else { + $originalValues[$key] = ['exists' => false, 'value' => null]; + } + } + + $_SERVER['PHP_SELF'] = $legacyScriptName; + $_SERVER['SCRIPT_NAME'] = $legacyScriptName; + $_SERVER['SCRIPT_FILENAME'] = $legacyScriptPath; + $_SERVER['REQUEST_URI'] = $request->getRequestUri(); + $_SERVER['DOCUMENT_ROOT'] = $legacyBasePath; + + return $originalValues; + } + + /** + * @param array $originalValues + * @return array + */ + private function mergeServerBagValues(Request $request, array $originalValues): array + { + foreach ($request->server->all() as $key => $value) { + if (array_key_exists($key, $_SERVER)) { + continue; + } + + $originalValues[$key] = ['exists' => false, 'value' => null]; + $_SERVER[$key] = $value; + } + + return $originalValues; + } + + /** + * @param array $originalValues + */ + private function restoreLegacyServerState(array $originalValues): void + { + foreach ($originalValues as $key => $state) { + if (($state['exists'] ?? false) === true) { + $_SERVER[$key] = $state['value']; + continue; + } + + unset($_SERVER[$key]); + } + } + + /** + * @param list $nativeHeaders + */ + private function applyNativeHeadersToResponse(Response $response, array $nativeHeaders): void + { + foreach ($nativeHeaders as $headerLine) { + if (! str_contains($headerLine, ':')) { + continue; + } + + [$name, $value] = explode(':', $headerLine, 2); + $name = trim($name); + $value = trim($value); + + if ($name === '' || $value === '') { + continue; + } + + if (strcasecmp($name, 'Set-Cookie') === 0) { + $response->headers->setCookie(Cookie::fromString($value)); + continue; + } + + $response->headers->set($name, $value, true); + } + } + + /** + * @param list $headersBeforeExecution + * @param list $headersAfterExecution + */ + private function collectLegacyNativeHeaders(array $headersBeforeExecution, array $headersAfterExecution): array + { + return array_values(array_diff($headersAfterExecution, $headersBeforeExecution)); + } + + /** + * @param list $headersBeforeExecution + * @param list $headersAfterExecution + */ + private function clearLegacyNativeHeaders(array $headersBeforeExecution, array $headersAfterExecution): void + { + foreach ($this->collectLegacyNativeHeaders($headersBeforeExecution, $headersAfterExecution) as $headerLine) { + if (! str_contains($headerLine, ':')) { + continue; + } + + [$name] = explode(':', $headerLine, 2); + $headerName = trim($name); + if ($headerName === '') { + continue; + } + + header_remove($headerName); + } + } +} diff --git a/routes/web.php b/routes/web.php index 86a06c53e..ebe92f750 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1,7 +1,7 @@ where('path', '.*');