Selaa lähdekoodia

修改c端获取招工招聘列表的接口

15313670163 6 päivää sitten
vanhempi
sitoutus
6e1c4d2565
61 muutettua tiedostoa jossa 3253 lisäystä ja 4 poistoa
  1. 8 3
      app/JsonRpc/NewsService.php
  2. 0 0
      runtime/container/scan.cache
  3. 1 1
      runtime/hyperf.pid
  4. 529 0
      runtime/logs/hyperf.log
  5. 52 0
      vendor/composer/autoload_classmap.php
  6. 52 0
      vendor/composer/autoload_static.php
  7. 22 0
      vendor/composer/pcre/extension.neon
  8. 142 0
      vendor/composer/pcre/src/PHPStan/InvalidRegexPatternRule.php
  9. 70 0
      vendor/composer/pcre/src/PHPStan/PregMatchFlags.php
  10. 65 0
      vendor/composer/pcre/src/PHPStan/PregMatchParameterOutTypeExtension.php
  11. 119 0
      vendor/composer/pcre/src/PHPStan/PregMatchTypeSpecifyingExtension.php
  12. 91 0
      vendor/composer/pcre/src/PHPStan/PregReplaceCallbackClosureTypeExtension.php
  13. 112 0
      vendor/composer/pcre/src/PHPStan/UnsafeStrictGroupsCallRule.php
  14. 127 0
      vendor/friendsofphp/php-cs-fixer/src/Fixer/ConfigurableFixerTrait.php
  15. 20 0
      vendor/friendsofphp/php-cs-fixer/src/Fixer/InternalFixerInterface.php
  16. 107 0
      vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitAssertNewNamesFixer.php
  17. 31 0
      vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit91MigrationRiskySet.php
  18. 51 0
      vendor/hyperf/command/src/Concerns/Prohibitable.php
  19. 24 0
      vendor/hyperf/contract/src/CanBeEscapedWhenCastToString.php
  20. 17 0
      vendor/hyperf/coroutine/src/Barrier.php
  21. 61 0
      vendor/hyperf/coroutine/src/Mutex.php
  22. 48 0
      vendor/hyperf/coroutine/src/WaitConcurrent.php
  23. 35 0
      vendor/hyperf/database/src/Exception/ClassMorphViolationException.php
  24. 19 0
      vendor/hyperf/database/src/Exception/MultipleColumnsSelectedException.php
  25. 39 0
      vendor/hyperf/database/src/Exception/MultipleRecordsFoundException.php
  26. 19 0
      vendor/hyperf/database/src/Exception/RecordsNotFoundException.php
  27. 17 0
      vendor/hyperf/database/src/Exception/UniqueConstraintViolationException.php
  28. 28 0
      vendor/hyperf/engine-contract/src/BarrierInterface.php
  29. 29 0
      vendor/hyperf/engine/src/Barrier.php
  30. 47 0
      vendor/hyperf/framework/src/Logger/ConsoleLogger.php
  31. 55 0
      vendor/hyperf/redis/src/Event/CommandExecuted.php
  32. 75 0
      vendor/hyperf/support/src/DotenvManager.php
  33. 20 0
      vendor/hyperf/watcher/src/Event/BeforeServerRestart.php
  34. 44 0
      vendor/hyperf/watcher/src/Listener/ReloadDotenvListener.php
  35. 5 0
      vendor/laminas/laminas-stdlib/.laminas-ci.json
  36. 48 0
      vendor/monolog/monolog/src/Monolog/JsonSerializableDateTimeImmutable.php
  37. 71 0
      vendor/monolog/monolog/src/Monolog/Test/MonologTestCase.php
  38. 42 0
      vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/Date/DatePeriodFilter.php
  39. 84 0
      vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterLastTestMethodErrored.php
  40. 20 0
      vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterLastTestMethodErroredSubscriber.php
  41. 84 0
      vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodErrored.php
  42. 20 0
      vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodErroredSubscriber.php
  43. 84 0
      vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeTestMethodErrored.php
  44. 20 0
      vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeTestMethodErroredSubscriber.php
  45. 84 0
      vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/PostConditionErrored.php
  46. 20 0
      vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/PostConditionErroredSubscriber.php
  47. 84 0
      vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/PreConditionErrored.php
  48. 20 0
      vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/PreConditionErroredSubscriber.php
  49. 32 0
      vendor/phpunit/phpunit/src/Framework/MockObject/Exception/NoMoreReturnValuesConfiguredException.php
  50. 31 0
      vendor/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/CannotUseAddMethodsException.php
  51. 33 0
      vendor/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/NameAlreadyInUseException.php
  52. 26 0
      vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestPrintedUnexpectedOutputSubscriber.php
  53. 30 0
      vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestSuiteBeforeFirstTestMethodErroredSubscriber.php
  54. 30 0
      vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestSuiteSkippedSubscriber.php
  55. 45 0
      vendor/phpunit/phpunit/src/Metadata/Exception/InvalidAttributeException.php
  56. 31 0
      vendor/phpunit/phpunit/src/Runner/Exception/DirectoryDoesNotExistException.php
  57. 26 0
      vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/AfterTestClassMethodErroredSubscriber.php
  58. 32 0
      vendor/phpunit/phpunit/src/TextUI/Exception/CannotOpenSocketException.php
  59. 23 0
      vendor/phpunit/phpunit/src/Util/Http/Downloader.php
  60. 30 0
      vendor/phpunit/phpunit/src/Util/Http/PhpDownloader.php
  61. 22 0
      vendor/ramsey/collection/conventional-commits.json

+ 8 - 3
app/JsonRpc/NewsService.php

@@ -2228,8 +2228,6 @@ private function fetchArticles($catId, $website, $limit, $isImageArticle = false
             return Result::error("此网站不存在", 0);
         }
         $website_id['website_id'] = $data['website_id'];
-        
-        
         if((isset($data['type']) && $data['type'] == 1) || !isset($data['type'])){
             if(isset($data['zw_id']) && !empty($data['zw_id'])){
                 array_push($recruit_where, ['zw_id',$data['zw_id']]);
@@ -2240,10 +2238,13 @@ private function fetchArticles($catId, $website, $limit, $isImageArticle = false
             if(isset($data['hy_id']) && !empty($data['hy_id'])){
                 array_push($recruit_where, ['hy_id',$data['hy_id']]);
             }
+            if(isset($data['keyword']) && !empty($data['keyword'])){
+                array_push($recruit_where, ['title','like','%'.$data['keyword'].'%']);
+            }
             $query = JobRecruiting::where('job_recruiting.status', 1)
             ->where('job_recruiting.website_id', $data['website_id'])
             ->where($recruit_where)
-            ->when(isset($data['city_id']) &&!empty($data['city_id']), function ($query) use ($data) {
+            ->when(isset($data['city_id']) && !empty($data['city_id']), function ($query) use ($data) {
                 $query->where(function($q) use ($data) {
                     $q->WhereRaw("JSON_CONTAINS(job_recruiting.city_arr_id, '". intval($data['city_id']). "') = 1");
                 });
@@ -2282,7 +2283,11 @@ private function fetchArticles($catId, $website, $limit, $isImageArticle = false
             }
             $query = JobHunting::where('status', 2)
             ->where('job_hunting.website_id', $data['website_id'])
+            ->leftJoin('job_position', 'job_hunting.job_name_get', '=', 'job_position.zwid')
             ->where($hunt_where)
+            ->when(isset($data['keyword']) &&!empty($data['keyword']), function ($query) use ($data) {
+                $query->where('job_position.zwname','like','%'.$data['keyword'].'%');
+            })
             ->when(isset($data['city_id']) &&!empty($data['city_id']), function ($query) use ($data) {
                 $query->where(function($q) use ($data) {
                     $q->WhereRaw("JSON_CONTAINS(job_hunting.city_arr_id, '". intval($data['city_id']). "') = 1");

Tiedoston diff-näkymää rajattu, sillä se on liian suuri
+ 0 - 0
runtime/container/scan.cache


+ 1 - 1
runtime/hyperf.pid

@@ -1 +1 @@
-72836
+4676

+ 529 - 0
runtime/logs/hyperf.log

@@ -11408,3 +11408,532 @@
 [2025-05-22T15:15:59.123063+08:00] sql.INFO: [11.83] select `pid` from `website_category` where `category_id` in ('11', '317', '2', '5', '12', '13', '24', '14', '15', '27', '16', '18', '21', '153', '26', '1') and (`website_id` = '2') [] []
 [2025-05-22T15:16:31.847317+08:00] sql.INFO: [14.81] select `pid` from `website_category` where `category_id` in ('11', '317', '2', '5', '12', '13', '24', '14', '15', '27', '16', '18', '21', '153', '26', '1') and (`website_id` = '2') [] []
 [2025-05-22T15:16:54.216961+08:00] sql.INFO: [15.11] select `pid` from `website_category` where `category_id` in ('11', '317', '2', '5', '12', '13', '24', '14', '15', '27', '16', '18', '21', '153', '26', '1') and (`website_id` = '2') [] []
+[2025-06-13T00:53:35.282082+00:00] sql.INFO: [13.46] select count(*) as aggregate from `good` where (`status` = '2' and `website_id` = '16' and `name` like '%1%') and `type_id` = '1' [] []
+[2025-06-13T00:53:35.292502+00:00] sql.INFO: [3.8] select `good`.`id`, `good`.`name`, `good`.`imgurl`, `good`.`description`, `good`.`updated_at`, `good`.`com`, `good`.`catid`, `good`.`type_id`, `good`.`website_id`, `good`.`cat_arr_id`, `good`.`created_at`, `good`.`city_id` from `good` where (`status` = '2' and `website_id` = '16' and `name` like '%1%') and `type_id` = '1' order by `updated_at` desc limit 5 offset 0 [] []
+[2025-06-13T00:53:35.312680+00:00] sql.INFO: [2.66] select * from `website_category` where `category_id` = '442' and `website_id` = '16' limit 1 [] []
+[2025-06-13T00:53:35.321981+00:00] sql.INFO: [8.72] select `aLIas_pinyin` from `website_category` where `website_id` = '16' and `category_id` in ('346', '442') order by FIELD(category_id, 346,442) [] []
+[2025-06-13T00:53:35.329035+00:00] sql.INFO: [2.04] select `name` from `district` where `id` = '33' limit 1 [] []
+[2025-06-13T00:53:35.331951+00:00] sql.INFO: [2.38] select * from `website_category` where `category_id` = '442' and `website_id` = '16' limit 1 [] []
+[2025-06-13T00:53:35.334724+00:00] sql.INFO: [2.17] select `aLIas_pinyin` from `website_category` where `website_id` = '16' and `category_id` in ('346', '442') order by FIELD(category_id, 346,442) [] []
+[2025-06-13T00:53:35.337285+00:00] sql.INFO: [1.69] select `name` from `district` where `id` = '413' limit 1 [] []
+[2025-06-13T00:53:35.340463+00:00] sql.INFO: [2.49] select * from `website_category` where `category_id` = '591' and `website_id` = '16' limit 1 [] []
+[2025-06-13T00:53:35.342879+00:00] sql.INFO: [1.88] select `aLIas_pinyin` from `website_category` where `website_id` = '16' and `category_id` in ('346', '495', '591') order by FIELD(category_id, 346,495,591) [] []
+[2025-06-13T00:53:35.345365+00:00] sql.INFO: [1.64] select `name` from `district` where `id` = '3509' limit 1 [] []
+[2025-06-13T00:53:35.348615+00:00] sql.INFO: [2.68] select * from `website_category` where `category_id` = '449' and `website_id` = '16' limit 1 [] []
+[2025-06-13T00:53:35.351330+00:00] sql.INFO: [2.12] select `aLIas_pinyin` from `website_category` where `website_id` = '16' and `category_id` in ('346', '449') order by FIELD(category_id, 346,449) [] []
+[2025-06-13T00:53:35.354022+00:00] sql.INFO: [1.78] select `name` from `district` where `id` = '3149' limit 1 [] []
+[2025-06-13T00:53:35.356988+00:00] sql.INFO: [2.43] select * from `website_category` where `category_id` = '444' and `website_id` = '16' limit 1 [] []
+[2025-06-13T00:53:35.359508+00:00] sql.INFO: [1.88] select `aLIas_pinyin` from `website_category` where `website_id` = '16' and `category_id` in ('346', '444') order by FIELD(category_id, 346,444) [] []
+[2025-06-13T00:53:35.361730+00:00] sql.INFO: [1.54] select `name` from `district` where `id` = '3505' limit 1 [] []
+[2025-06-13T00:53:35.364465+00:00] sql.INFO: [2.21] select count(*) as aggregate from `good` where (`status` = '2' and `website_id` = '16' and `name` like '%1%') and `type_id` = '2' [] []
+[2025-06-13T00:53:35.367557+00:00] sql.INFO: [2.72] select `good`.`id`, `good`.`name`, `good`.`imgurl`, `good`.`description`, `good`.`updated_at`, `good`.`com`, `good`.`catid`, `good`.`type_id`, `good`.`website_id`, `good`.`cat_arr_id`, `good`.`created_at`, `good`.`city_id` from `good` where (`status` = '2' and `website_id` = '16' and `name` like '%1%') and `type_id` = '2' order by `updated_at` desc limit 5 offset 0 [] []
+[2025-06-13T00:53:35.371060+00:00] sql.INFO: [2.75] select * from `website_category` where `category_id` = '446' and `website_id` = '16' limit 1 [] []
+[2025-06-13T00:53:35.373337+00:00] sql.INFO: [1.76] select `aLIas_pinyin` from `website_category` where `website_id` = '16' and `category_id` in ('346', '446') order by FIELD(category_id, 346,446) [] []
+[2025-06-13T00:53:35.375578+00:00] sql.INFO: [1.56] select `name` from `district` where `id` = '33' limit 1 [] []
+[2025-06-13T00:53:35.378764+00:00] sql.INFO: [2.66] select * from `website_category` where `category_id` = '446' and `website_id` = '16' limit 1 [] []
+[2025-06-13T00:53:35.381070+00:00] sql.INFO: [1.77] select `aLIas_pinyin` from `website_category` where `website_id` = '16' and `category_id` in ('346', '446') order by FIELD(category_id, 346,446) [] []
+[2025-06-13T00:53:35.383319+00:00] sql.INFO: [1.59] select `name` from `district` where `id` = '28' limit 1 [] []
+[2025-06-13T00:54:06.221803+00:00] sql.INFO: [2.58] select count(*) as aggregate from `good` where (`status` = '2' and `website_id` = '16' and `name` like '%机器人%') and `type_id` = '1' [] []
+[2025-06-13T00:54:06.226282+00:00] sql.INFO: [3.96] select `good`.`id`, `good`.`name`, `good`.`imgurl`, `good`.`description`, `good`.`updated_at`, `good`.`com`, `good`.`catid`, `good`.`type_id`, `good`.`website_id`, `good`.`cat_arr_id`, `good`.`created_at`, `good`.`city_id` from `good` where (`status` = '2' and `website_id` = '16' and `name` like '%机器人%') and `type_id` = '1' order by `updated_at` desc limit 5 offset 0 [] []
+[2025-06-13T00:54:06.230697+00:00] sql.INFO: [2.88] select * from `website_category` where `category_id` = '442' and `website_id` = '16' limit 1 [] []
+[2025-06-13T00:54:06.233492+00:00] sql.INFO: [2.14] select `aLIas_pinyin` from `website_category` where `website_id` = '16' and `category_id` in ('346', '442') order by FIELD(category_id, 346,442) [] []
+[2025-06-13T00:54:06.236569+00:00] sql.INFO: [2.11] select `name` from `district` where `id` = '33' limit 1 [] []
+[2025-06-13T00:54:06.240398+00:00] sql.INFO: [3.23] select * from `website_category` where `category_id` = '442' and `website_id` = '16' limit 1 [] []
+[2025-06-13T00:54:06.243344+00:00] sql.INFO: [2.12] select `aLIas_pinyin` from `website_category` where `website_id` = '16' and `category_id` in ('346', '442') order by FIELD(category_id, 346,442) [] []
+[2025-06-13T00:54:06.246038+00:00] sql.INFO: [1.76] select `name` from `district` where `id` = '33' limit 1 [] []
+[2025-06-13T00:54:06.249578+00:00] sql.INFO: [2.72] select * from `website_category` where `category_id` = '442' and `website_id` = '16' limit 1 [] []
+[2025-06-13T00:54:06.252553+00:00] sql.INFO: [2.28] select `aLIas_pinyin` from `website_category` where `website_id` = '16' and `category_id` in ('346', '442') order by FIELD(category_id, 346,442) [] []
+[2025-06-13T00:54:06.255587+00:00] sql.INFO: [2.15] select `name` from `district` where `id` = '413' limit 1 [] []
+[2025-06-13T00:54:06.258943+00:00] sql.INFO: [2.62] select * from `website_category` where `category_id` = '495' and `website_id` = '16' limit 1 [] []
+[2025-06-13T00:54:06.261691+00:00] sql.INFO: [1.98] select `aLIas_pinyin` from `website_category` where `website_id` = '16' and `category_id` in ('346', '495') order by FIELD(category_id, 346,495) [] []
+[2025-06-13T00:54:06.264377+00:00] sql.INFO: [1.8] select `name` from `district` where `id` = '33' limit 1 [] []
+[2025-06-13T00:54:06.267652+00:00] sql.INFO: [2.71] select * from `website_category` where `category_id` = '442' and `website_id` = '16' limit 1 [] []
+[2025-06-13T00:54:06.270328+00:00] sql.INFO: [2] select `aLIas_pinyin` from `website_category` where `website_id` = '16' and `category_id` in ('346', '442') order by FIELD(category_id, 346,442) [] []
+[2025-06-13T00:54:06.272921+00:00] sql.INFO: [1.78] select `name` from `district` where `id` = '33' limit 1 [] []
+[2025-06-13T00:54:06.275959+00:00] sql.INFO: [2.41] select count(*) as aggregate from `good` where (`status` = '2' and `website_id` = '16' and `name` like '%机器人%') and `type_id` = '2' [] []
+[2025-06-13T00:54:06.280137+00:00] sql.INFO: [3.68] select `good`.`id`, `good`.`name`, `good`.`imgurl`, `good`.`description`, `good`.`updated_at`, `good`.`com`, `good`.`catid`, `good`.`type_id`, `good`.`website_id`, `good`.`cat_arr_id`, `good`.`created_at`, `good`.`city_id` from `good` where (`status` = '2' and `website_id` = '16' and `name` like '%机器人%') and `type_id` = '2' order by `updated_at` desc limit 5 offset 0 [] []
+[2025-06-13T00:54:06.284439+00:00] sql.INFO: [3.21] select * from `website_category` where `category_id` = '446' and `website_id` = '16' limit 1 [] []
+[2025-06-13T00:54:06.287358+00:00] sql.INFO: [2.23] select `aLIas_pinyin` from `website_category` where `website_id` = '16' and `category_id` in ('346', '446') order by FIELD(category_id, 346,446) [] []
+[2025-06-13T00:54:06.290062+00:00] sql.INFO: [1.94] select `name` from `district` where `id` = '33' limit 1 [] []
+[2025-06-13T00:54:06.293463+00:00] sql.INFO: [2.78] select * from `website_category` where `category_id` = '442' and `website_id` = '16' limit 1 [] []
+[2025-06-13T00:54:06.296490+00:00] sql.INFO: [2.31] select `aLIas_pinyin` from `website_category` where `website_id` = '16' and `category_id` in ('346', '442') order by FIELD(category_id, 346,442) [] []
+[2025-06-13T00:54:06.299305+00:00] sql.INFO: [1.97] select `name` from `district` where `id` = '33' limit 1 [] []
+[2025-06-13T00:54:06.302972+00:00] sql.INFO: [2.91] select * from `website_category` where `category_id` = '442' and `website_id` = '16' limit 1 [] []
+[2025-06-13T00:54:06.305827+00:00] sql.INFO: [2.18] select `aLIas_pinyin` from `website_category` where `website_id` = '16' and `category_id` in ('346', '442') order by FIELD(category_id, 346,442) [] []
+[2025-06-13T00:54:06.308658+00:00] sql.INFO: [2.03] select `name` from `district` where `id` = '33' limit 1 [] []
+[2025-06-13T00:54:06.311892+00:00] sql.INFO: [2.6] select * from `website_category` where `category_id` = '442' and `website_id` = '16' limit 1 [] []
+[2025-06-13T00:54:06.314400+00:00] sql.INFO: [1.96] select `aLIas_pinyin` from `website_category` where `website_id` = '16' and `category_id` in ('346', '442') order by FIELD(category_id, 346,442) [] []
+[2025-06-13T00:54:06.316759+00:00] sql.INFO: [1.66] select `name` from `district` where `id` = '303' limit 1 [] []
+[2025-06-13T00:54:21.381525+00:00] sql.INFO: [2.87] select count(*) as aggregate from `good` where (`status` = '2' and `website_id` = '16' and `name` like '%555555%') and `type_id` = '1' [] []
+[2025-06-13T00:54:21.385067+00:00] sql.INFO: [3.08] select `good`.`id`, `good`.`name`, `good`.`imgurl`, `good`.`description`, `good`.`updated_at`, `good`.`com`, `good`.`catid`, `good`.`type_id`, `good`.`website_id`, `good`.`cat_arr_id`, `good`.`created_at`, `good`.`city_id` from `good` where (`status` = '2' and `website_id` = '16' and `name` like '%555555%') and `type_id` = '1' order by `updated_at` desc limit 5 offset 0 [] []
+[2025-06-13T00:54:21.387863+00:00] sql.INFO: [2.31] select count(*) as aggregate from `good` where (`status` = '2' and `website_id` = '16' and `name` like '%555555%') and `type_id` = '2' [] []
+[2025-06-13T00:54:21.391056+00:00] sql.INFO: [2.7] select `good`.`id`, `good`.`name`, `good`.`imgurl`, `good`.`description`, `good`.`updated_at`, `good`.`com`, `good`.`catid`, `good`.`type_id`, `good`.`website_id`, `good`.`cat_arr_id`, `good`.`created_at`, `good`.`city_id` from `good` where (`status` = '2' and `website_id` = '16' and `name` like '%555555%') and `type_id` = '2' order by `updated_at` desc limit 5 offset 0 [] []
+[2025-06-13T00:54:30.427332+00:00] sql.INFO: [2.63] select count(*) as aggregate from `good` where (`status` = '2' and `website_id` = '16' and `name` like '%1%') and `type_id` = '1' [] []
+[2025-06-13T00:54:30.431511+00:00] sql.INFO: [3.65] select `good`.`id`, `good`.`name`, `good`.`imgurl`, `good`.`description`, `good`.`updated_at`, `good`.`com`, `good`.`catid`, `good`.`type_id`, `good`.`website_id`, `good`.`cat_arr_id`, `good`.`created_at`, `good`.`city_id` from `good` where (`status` = '2' and `website_id` = '16' and `name` like '%1%') and `type_id` = '1' order by `updated_at` desc limit 5 offset 0 [] []
+[2025-06-13T00:54:30.435845+00:00] sql.INFO: [2.97] select * from `website_category` where `category_id` = '442' and `website_id` = '16' limit 1 [] []
+[2025-06-13T00:54:30.438961+00:00] sql.INFO: [2.34] select `aLIas_pinyin` from `website_category` where `website_id` = '16' and `category_id` in ('346', '442') order by FIELD(category_id, 346,442) [] []
+[2025-06-13T00:54:30.441546+00:00] sql.INFO: [1.63] select `name` from `district` where `id` = '33' limit 1 [] []
+[2025-06-13T00:54:30.444944+00:00] sql.INFO: [2.77] select * from `website_category` where `category_id` = '442' and `website_id` = '16' limit 1 [] []
+[2025-06-13T00:54:30.447603+00:00] sql.INFO: [2.09] select `aLIas_pinyin` from `website_category` where `website_id` = '16' and `category_id` in ('346', '442') order by FIELD(category_id, 346,442) [] []
+[2025-06-13T00:54:30.450879+00:00] sql.INFO: [2.58] select `name` from `district` where `id` = '413' limit 1 [] []
+[2025-06-13T00:54:30.454432+00:00] sql.INFO: [2.83] select * from `website_category` where `category_id` = '591' and `website_id` = '16' limit 1 [] []
+[2025-06-13T00:54:30.457637+00:00] sql.INFO: [2.55] select `aLIas_pinyin` from `website_category` where `website_id` = '16' and `category_id` in ('346', '495', '591') order by FIELD(category_id, 346,495,591) [] []
+[2025-06-13T00:54:30.460370+00:00] sql.INFO: [1.76] select `name` from `district` where `id` = '3509' limit 1 [] []
+[2025-06-13T00:54:30.463654+00:00] sql.INFO: [2.72] select * from `website_category` where `category_id` = '449' and `website_id` = '16' limit 1 [] []
+[2025-06-13T00:54:30.466303+00:00] sql.INFO: [2.08] select `aLIas_pinyin` from `website_category` where `website_id` = '16' and `category_id` in ('346', '449') order by FIELD(category_id, 346,449) [] []
+[2025-06-13T00:54:30.468910+00:00] sql.INFO: [1.86] select `name` from `district` where `id` = '3149' limit 1 [] []
+[2025-06-13T00:54:30.472492+00:00] sql.INFO: [2.94] select * from `website_category` where `category_id` = '444' and `website_id` = '16' limit 1 [] []
+[2025-06-13T00:54:30.475450+00:00] sql.INFO: [2.21] select `aLIas_pinyin` from `website_category` where `website_id` = '16' and `category_id` in ('346', '444') order by FIELD(category_id, 346,444) [] []
+[2025-06-13T00:54:30.478237+00:00] sql.INFO: [1.79] select `name` from `district` where `id` = '3505' limit 1 [] []
+[2025-06-13T00:54:30.481223+00:00] sql.INFO: [2.37] select count(*) as aggregate from `good` where (`status` = '2' and `website_id` = '16' and `name` like '%1%') and `type_id` = '2' [] []
+[2025-06-13T00:54:30.484884+00:00] sql.INFO: [3.18] select `good`.`id`, `good`.`name`, `good`.`imgurl`, `good`.`description`, `good`.`updated_at`, `good`.`com`, `good`.`catid`, `good`.`type_id`, `good`.`website_id`, `good`.`cat_arr_id`, `good`.`created_at`, `good`.`city_id` from `good` where (`status` = '2' and `website_id` = '16' and `name` like '%1%') and `type_id` = '2' order by `updated_at` desc limit 5 offset 0 [] []
+[2025-06-13T00:54:30.488606+00:00] sql.INFO: [2.84] select * from `website_category` where `category_id` = '446' and `website_id` = '16' limit 1 [] []
+[2025-06-13T00:54:30.491156+00:00] sql.INFO: [1.95] select `aLIas_pinyin` from `website_category` where `website_id` = '16' and `category_id` in ('346', '446') order by FIELD(category_id, 346,446) [] []
+[2025-06-13T00:54:30.493641+00:00] sql.INFO: [1.8] select `name` from `district` where `id` = '33' limit 1 [] []
+[2025-06-13T00:54:30.497038+00:00] sql.INFO: [2.78] select * from `website_category` where `category_id` = '446' and `website_id` = '16' limit 1 [] []
+[2025-06-13T00:54:30.499733+00:00] sql.INFO: [2.17] select `aLIas_pinyin` from `website_category` where `website_id` = '16' and `category_id` in ('346', '446') order by FIELD(category_id, 346,446) [] []
+[2025-06-13T00:54:30.502310+00:00] sql.INFO: [1.8] select `name` from `district` where `id` = '28' limit 1 [] []
+[2025-06-13T00:55:08.733546+00:00] sql.INFO: [1.9] select `id`, `website_name` from `website` where `id` = '2' limit 1 [] []
+[2025-06-13T00:55:08.750026+00:00] sql.INFO: [2.66] select count(*) as aggregate from `job_recruiting` left join `job_company` on `job_recruiting`.`id` = `job_company`.`job_id` where `job_recruiting`.`status` = '1' and `job_recruiting`.`website_id` = '2' [] []
+[2025-06-13T00:55:08.754278+00:00] sql.INFO: [3.74] select `job_recruiting`.`id`, `job_recruiting`.`hy_id`, `job_recruiting`.`title`, `job_recruiting`.`zw_id`, `job_recruiting`.`educational`, `job_recruiting`.`jtzw_id`, `job_recruiting`.`city_arr_id`, `job_recruiting`.`due_data`, `job_recruiting`.`experience`, `job_recruiting`.`cat_arr_id`, `job_recruiting`.`updated_at`, `job_company`.`business_name` from `job_recruiting` left join `job_company` on `job_recruiting`.`id` = `job_company`.`job_id` where `job_recruiting`.`status` = '1' and `job_recruiting`.`website_id` = '2' order by `updated_at` desc limit 10 offset 0 [] []
+[2025-06-13T00:55:08.758435+00:00] sql.INFO: [2.02] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '601') and `website_id` = '2' order by FIELD(category_id, 20,601) [] []
+[2025-06-13T00:55:08.760951+00:00] sql.INFO: [1.67] select `name` from `district` where `id` = '413' limit 1 [] []
+[2025-06-13T00:55:08.770294+00:00] sql.INFO: [2.25] select `hyname` from `job_industry` where `hyid` = '1' limit 1 [] []
+[2025-06-13T00:55:08.779183+00:00] sql.INFO: [1.99] select `zwname` from `job_position` where `zwid` = '1' limit 1 [] []
+[2025-06-13T00:55:08.781357+00:00] sql.INFO: [1.54] select `zwname` from `job_position` where `zwid` = '35' limit 1 [] []
+[2025-06-13T00:55:08.784145+00:00] sql.INFO: [2.17] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '601') and `website_id` = '2' order by FIELD(category_id, 20,601) [] []
+[2025-06-13T00:55:08.786993+00:00] sql.INFO: [1.79] select `name` from `district` where `id` = '413' limit 1 [] []
+[2025-06-13T00:55:08.789553+00:00] sql.INFO: [1.82] select `hyname` from `job_industry` where `hyid` = '1' limit 1 [] []
+[2025-06-13T00:55:08.792018+00:00] sql.INFO: [1.78] select `zwname` from `job_position` where `zwid` = '1' limit 1 [] []
+[2025-06-13T00:55:08.794373+00:00] sql.INFO: [1.75] select `zwname` from `job_position` where `zwid` = '35' limit 1 [] []
+[2025-06-13T00:55:08.797074+00:00] sql.INFO: [2.08] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '584') and `website_id` = '2' order by FIELD(category_id, 20,584) [] []
+[2025-06-13T00:55:08.799674+00:00] sql.INFO: [1.74] select `name` from `district` where `id` = '374' limit 1 [] []
+[2025-06-13T00:55:08.802105+00:00] sql.INFO: [1.76] select `hyname` from `job_industry` where `hyid` = '2' limit 1 [] []
+[2025-06-13T00:55:08.804752+00:00] sql.INFO: [1.94] select `zwname` from `job_position` where `zwid` = '2' limit 1 [] []
+[2025-06-13T00:55:08.807427+00:00] sql.INFO: [2.07] select `zwname` from `job_position` where `zwid` = '129' limit 1 [] []
+[2025-06-13T00:55:08.816868+00:00] sql.INFO: [2.53] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '3' limit 1 [] []
+[2025-06-13T00:55:08.819660+00:00] sql.INFO: [2.02] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '3' limit 1 [] []
+[2025-06-13T00:55:08.822688+00:00] sql.INFO: [2.25] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '584') and `website_id` = '2' order by FIELD(category_id, 20,584) [] []
+[2025-06-13T00:55:08.825721+00:00] sql.INFO: [2.14] select `name` from `district` where `id` = '413' limit 1 [] []
+[2025-06-13T00:55:08.828498+00:00] sql.INFO: [2.05] select `hyname` from `job_industry` where `hyid` = '1' limit 1 [] []
+[2025-06-13T00:55:08.831405+00:00] sql.INFO: [2.27] select `zwname` from `job_position` where `zwid` = '1' limit 1 [] []
+[2025-06-13T00:55:08.833989+00:00] sql.INFO: [2] select `zwname` from `job_position` where `zwid` = '45' limit 1 [] []
+[2025-06-13T00:55:08.836773+00:00] sql.INFO: [2.09] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '2' limit 1 [] []
+[2025-06-13T00:55:08.839122+00:00] sql.INFO: [1.75] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '2' limit 1 [] []
+[2025-06-13T00:55:08.841765+00:00] sql.INFO: [2.02] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '584') and `website_id` = '2' order by FIELD(category_id, 20,584) [] []
+[2025-06-13T00:55:08.844288+00:00] sql.INFO: [1.78] select `name` from `district` where `id` = '413' limit 1 [] []
+[2025-06-13T00:55:08.846818+00:00] sql.INFO: [1.95] select `hyname` from `job_industry` where `hyid` = '1' limit 1 [] []
+[2025-06-13T00:55:08.849323+00:00] sql.INFO: [1.9] select `zwname` from `job_position` where `zwid` = '1' limit 1 [] []
+[2025-06-13T00:55:08.851875+00:00] sql.INFO: [1.83] select `zwname` from `job_position` where `zwid` = '45' limit 1 [] []
+[2025-06-13T00:55:08.854711+00:00] sql.INFO: [2.21] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '2' limit 1 [] []
+[2025-06-13T00:55:08.857109+00:00] sql.INFO: [1.8] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '2' limit 1 [] []
+[2025-06-13T00:55:08.859673+00:00] sql.INFO: [2] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '584') and `website_id` = '2' order by FIELD(category_id, 20,584) [] []
+[2025-06-13T00:55:08.862680+00:00] sql.INFO: [2.27] select `name` from `district` where `id` = '81' limit 1 [] []
+[2025-06-13T00:55:08.865123+00:00] sql.INFO: [1.9] select `hyname` from `job_industry` where `hyid` = '4' limit 1 [] []
+[2025-06-13T00:55:08.868093+00:00] sql.INFO: [2.36] select `zwname` from `job_position` where `zwid` = '2' limit 1 [] []
+[2025-06-13T00:55:08.870730+00:00] sql.INFO: [1.91] select `zwname` from `job_position` where `zwid` = '131' limit 1 [] []
+[2025-06-13T00:55:08.873664+00:00] sql.INFO: [2.26] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '2' limit 1 [] []
+[2025-06-13T00:55:08.876346+00:00] sql.INFO: [2.06] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '3' limit 1 [] []
+[2025-06-13T00:55:08.878836+00:00] sql.INFO: [1.91] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '584') and `website_id` = '2' order by FIELD(category_id, 20,584) [] []
+[2025-06-13T00:55:08.881716+00:00] sql.INFO: [2.06] select `name` from `district` where `id` = '310' limit 1 [] []
+[2025-06-13T00:55:08.884273+00:00] sql.INFO: [1.97] select `hyname` from `job_industry` where `hyid` = '3' limit 1 [] []
+[2025-06-13T00:55:08.886603+00:00] sql.INFO: [1.7] select `zwname` from `job_position` where `zwid` = '2' limit 1 [] []
+[2025-06-13T00:55:08.888899+00:00] sql.INFO: [1.65] select `zwname` from `job_position` where `zwid` = '129' limit 1 [] []
+[2025-06-13T00:55:08.891470+00:00] sql.INFO: [1.97] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '3' limit 1 [] []
+[2025-06-13T00:55:08.894125+00:00] sql.INFO: [2.08] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '2' limit 1 [] []
+[2025-06-13T00:55:08.896826+00:00] sql.INFO: [2.11] select `aLIas_pinyin` from `website_category` where `category_id` in ('2', '210') and `website_id` = '2' order by FIELD(category_id, 2,210) [] []
+[2025-06-13T00:55:08.899276+00:00] sql.INFO: [1.77] select `name` from `district` where `id` = '303' limit 1 [] []
+[2025-06-13T00:55:08.902023+00:00] sql.INFO: [2.09] select `hyname` from `job_industry` where `hyid` = '4' limit 1 [] []
+[2025-06-13T00:55:08.904548+00:00] sql.INFO: [1.8] select `zwname` from `job_position` where `zwid` = '1' limit 1 [] []
+[2025-06-13T00:55:08.906952+00:00] sql.INFO: [1.81] select `zwname` from `job_position` where `zwid` = '70' limit 1 [] []
+[2025-06-13T00:55:08.909481+00:00] sql.INFO: [1.96] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '2' limit 1 [] []
+[2025-06-13T00:55:08.911783+00:00] sql.INFO: [1.71] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '4' limit 1 [] []
+[2025-06-13T00:55:08.914899+00:00] sql.INFO: [2.46] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '584') and `website_id` = '2' order by FIELD(category_id, 20,584) [] []
+[2025-06-13T00:55:08.917648+00:00] sql.INFO: [1.98] select `name` from `district` where `id` = '143' limit 1 [] []
+[2025-06-13T00:55:08.920042+00:00] sql.INFO: [1.76] select `hyname` from `job_industry` where `hyid` = '4' limit 1 [] []
+[2025-06-13T00:55:08.922452+00:00] sql.INFO: [1.85] select `zwname` from `job_position` where `zwid` = '5' limit 1 [] []
+[2025-06-13T00:55:08.924748+00:00] sql.INFO: [1.73] select `zwname` from `job_position` where `zwid` = '97' limit 1 [] []
+[2025-06-13T00:55:08.927637+00:00] sql.INFO: [2.29] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '3' limit 1 [] []
+[2025-06-13T00:55:08.930243+00:00] sql.INFO: [1.98] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '5' limit 1 [] []
+[2025-06-13T00:55:08.939100+00:00] sql.INFO: [1.88] select count(*) as aggregate from `job_hunting` where `status` = '2' and `job_hunting`.`website_id` = '2' [] []
+[2025-06-13T00:55:08.942345+00:00] sql.INFO: [2.87] select `id`, `sexy`, `experience`, `origin`, `industry`, `name`, `job`, `job_name_get`, `city_arr_id`, `cat_arr_id`, `created_at`, `updated_at` from `job_hunting` where `status` = '2' and `job_hunting`.`website_id` = '2' order by `updated_at` desc limit 10 offset 0 [] []
+[2025-06-13T00:55:08.945030+00:00] sql.INFO: [2.02] select `aLIas_pinyin` from `website_category` where `category_id` in ('1') and `website_id` = '2' order by FIELD(category_id, 1) [] []
+[2025-06-13T00:55:08.947327+00:00] sql.INFO: [1.77] select `name` from `district` where `id` = '1' limit 1 [] []
+[2025-06-13T00:55:08.949662+00:00] sql.INFO: [1.79] select `hyname` from `job_industry` where `hyid` = '1' limit 1 [] []
+[2025-06-13T00:55:08.952087+00:00] sql.INFO: [1.63] select `zwname` from `job_position` where `zwid` = '1' limit 1 [] []
+[2025-06-13T00:55:08.954699+00:00] sql.INFO: [1.93] select `zwname` from `job_position` where `zwid` = '35' limit 1 [] []
+[2025-06-13T00:55:17.158267+00:00] sql.INFO: [2.13] select `id`, `website_name` from `website` where `id` = '2' limit 1 [] []
+[2025-06-13T00:55:17.161266+00:00] sql.INFO: [2.19] select count(*) as aggregate from `job_recruiting` left join `job_company` on `job_recruiting`.`id` = `job_company`.`job_id` where `job_recruiting`.`status` = '1' and `job_recruiting`.`website_id` = '2' [] []
+[2025-06-13T00:55:17.165368+00:00] sql.INFO: [3.65] select `job_recruiting`.`id`, `job_recruiting`.`hy_id`, `job_recruiting`.`title`, `job_recruiting`.`zw_id`, `job_recruiting`.`educational`, `job_recruiting`.`jtzw_id`, `job_recruiting`.`city_arr_id`, `job_recruiting`.`due_data`, `job_recruiting`.`experience`, `job_recruiting`.`cat_arr_id`, `job_recruiting`.`updated_at`, `job_company`.`business_name` from `job_recruiting` left join `job_company` on `job_recruiting`.`id` = `job_company`.`job_id` where `job_recruiting`.`status` = '1' and `job_recruiting`.`website_id` = '2' order by `updated_at` desc limit 10 offset 0 [] []
+[2025-06-13T00:55:17.169559+00:00] sql.INFO: [2.12] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '601') and `website_id` = '2' order by FIELD(category_id, 20,601) [] []
+[2025-06-13T00:55:17.172027+00:00] sql.INFO: [1.56] select `name` from `district` where `id` = '413' limit 1 [] []
+[2025-06-13T00:55:17.174473+00:00] sql.INFO: [1.71] select `hyname` from `job_industry` where `hyid` = '1' limit 1 [] []
+[2025-06-13T00:55:17.176798+00:00] sql.INFO: [1.78] select `zwname` from `job_position` where `zwid` = '1' limit 1 [] []
+[2025-06-13T00:55:17.178967+00:00] sql.INFO: [1.64] select `zwname` from `job_position` where `zwid` = '35' limit 1 [] []
+[2025-06-13T00:55:17.181419+00:00] sql.INFO: [1.86] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '601') and `website_id` = '2' order by FIELD(category_id, 20,601) [] []
+[2025-06-13T00:55:17.184392+00:00] sql.INFO: [2.15] select `name` from `district` where `id` = '413' limit 1 [] []
+[2025-06-13T00:55:17.187060+00:00] sql.INFO: [1.86] select `hyname` from `job_industry` where `hyid` = '1' limit 1 [] []
+[2025-06-13T00:55:17.189836+00:00] sql.INFO: [2.02] select `zwname` from `job_position` where `zwid` = '1' limit 1 [] []
+[2025-06-13T00:55:17.192201+00:00] sql.INFO: [1.66] select `zwname` from `job_position` where `zwid` = '35' limit 1 [] []
+[2025-06-13T00:55:17.194936+00:00] sql.INFO: [1.96] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '584') and `website_id` = '2' order by FIELD(category_id, 20,584) [] []
+[2025-06-13T00:55:17.197762+00:00] sql.INFO: [1.89] select `name` from `district` where `id` = '374' limit 1 [] []
+[2025-06-13T00:55:17.200327+00:00] sql.INFO: [1.89] select `hyname` from `job_industry` where `hyid` = '2' limit 1 [] []
+[2025-06-13T00:55:17.203270+00:00] sql.INFO: [2.05] select `zwname` from `job_position` where `zwid` = '2' limit 1 [] []
+[2025-06-13T00:55:17.206096+00:00] sql.INFO: [2.08] select `zwname` from `job_position` where `zwid` = '129' limit 1 [] []
+[2025-06-13T00:55:17.209347+00:00] sql.INFO: [2.43] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '3' limit 1 [] []
+[2025-06-13T00:55:17.212126+00:00] sql.INFO: [1.93] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '3' limit 1 [] []
+[2025-06-13T00:55:17.215294+00:00] sql.INFO: [2.33] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '584') and `website_id` = '2' order by FIELD(category_id, 20,584) [] []
+[2025-06-13T00:55:17.218276+00:00] sql.INFO: [2.01] select `name` from `district` where `id` = '413' limit 1 [] []
+[2025-06-13T00:55:17.221257+00:00] sql.INFO: [1.94] select `hyname` from `job_industry` where `hyid` = '1' limit 1 [] []
+[2025-06-13T00:55:17.224399+00:00] sql.INFO: [2.29] select `zwname` from `job_position` where `zwid` = '1' limit 1 [] []
+[2025-06-13T00:55:17.226969+00:00] sql.INFO: [1.78] select `zwname` from `job_position` where `zwid` = '45' limit 1 [] []
+[2025-06-13T00:55:17.229943+00:00] sql.INFO: [2.24] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '2' limit 1 [] []
+[2025-06-13T00:55:17.232653+00:00] sql.INFO: [1.9] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '2' limit 1 [] []
+[2025-06-13T00:55:17.235910+00:00] sql.INFO: [2.38] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '584') and `website_id` = '2' order by FIELD(category_id, 20,584) [] []
+[2025-06-13T00:55:17.238836+00:00] sql.INFO: [1.91] select `name` from `district` where `id` = '413' limit 1 [] []
+[2025-06-13T00:55:17.241375+00:00] sql.INFO: [1.82] select `hyname` from `job_industry` where `hyid` = '1' limit 1 [] []
+[2025-06-13T00:55:17.243731+00:00] sql.INFO: [1.78] select `zwname` from `job_position` where `zwid` = '1' limit 1 [] []
+[2025-06-13T00:55:17.246064+00:00] sql.INFO: [1.73] select `zwname` from `job_position` where `zwid` = '45' limit 1 [] []
+[2025-06-13T00:55:17.248903+00:00] sql.INFO: [2.26] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '2' limit 1 [] []
+[2025-06-13T00:55:17.251348+00:00] sql.INFO: [1.85] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '2' limit 1 [] []
+[2025-06-13T00:55:17.254154+00:00] sql.INFO: [2.03] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '584') and `website_id` = '2' order by FIELD(category_id, 20,584) [] []
+[2025-06-13T00:55:17.256584+00:00] sql.INFO: [1.63] select `name` from `district` where `id` = '81' limit 1 [] []
+[2025-06-13T00:55:17.258913+00:00] sql.INFO: [1.7] select `hyname` from `job_industry` where `hyid` = '4' limit 1 [] []
+[2025-06-13T00:55:17.261112+00:00] sql.INFO: [1.65] select `zwname` from `job_position` where `zwid` = '2' limit 1 [] []
+[2025-06-13T00:55:17.263346+00:00] sql.INFO: [1.69] select `zwname` from `job_position` where `zwid` = '131' limit 1 [] []
+[2025-06-13T00:55:17.265986+00:00] sql.INFO: [2.12] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '2' limit 1 [] []
+[2025-06-13T00:55:17.268419+00:00] sql.INFO: [1.75] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '3' limit 1 [] []
+[2025-06-13T00:55:17.271127+00:00] sql.INFO: [1.9] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '584') and `website_id` = '2' order by FIELD(category_id, 20,584) [] []
+[2025-06-13T00:55:17.273623+00:00] sql.INFO: [1.66] select `name` from `district` where `id` = '310' limit 1 [] []
+[2025-06-13T00:55:17.275911+00:00] sql.INFO: [1.58] select `hyname` from `job_industry` where `hyid` = '3' limit 1 [] []
+[2025-06-13T00:55:17.278213+00:00] sql.INFO: [1.64] select `zwname` from `job_position` where `zwid` = '2' limit 1 [] []
+[2025-06-13T00:55:17.280636+00:00] sql.INFO: [1.81] select `zwname` from `job_position` where `zwid` = '129' limit 1 [] []
+[2025-06-13T00:55:17.283193+00:00] sql.INFO: [1.94] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '3' limit 1 [] []
+[2025-06-13T00:55:17.285750+00:00] sql.INFO: [1.82] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '2' limit 1 [] []
+[2025-06-13T00:55:17.288624+00:00] sql.INFO: [2.17] select `aLIas_pinyin` from `website_category` where `category_id` in ('2', '210') and `website_id` = '2' order by FIELD(category_id, 2,210) [] []
+[2025-06-13T00:55:17.291136+00:00] sql.INFO: [1.78] select `name` from `district` where `id` = '303' limit 1 [] []
+[2025-06-13T00:55:17.293576+00:00] sql.INFO: [1.78] select `hyname` from `job_industry` where `hyid` = '4' limit 1 [] []
+[2025-06-13T00:55:17.295999+00:00] sql.INFO: [1.77] select `zwname` from `job_position` where `zwid` = '1' limit 1 [] []
+[2025-06-13T00:55:17.298360+00:00] sql.INFO: [1.64] select `zwname` from `job_position` where `zwid` = '70' limit 1 [] []
+[2025-06-13T00:55:17.301009+00:00] sql.INFO: [2.04] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '2' limit 1 [] []
+[2025-06-13T00:55:17.303463+00:00] sql.INFO: [1.84] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '4' limit 1 [] []
+[2025-06-13T00:55:17.305990+00:00] sql.INFO: [1.89] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '584') and `website_id` = '2' order by FIELD(category_id, 20,584) [] []
+[2025-06-13T00:55:17.308543+00:00] sql.INFO: [1.79] select `name` from `district` where `id` = '143' limit 1 [] []
+[2025-06-13T00:55:17.311021+00:00] sql.INFO: [1.85] select `hyname` from `job_industry` where `hyid` = '4' limit 1 [] []
+[2025-06-13T00:55:17.313218+00:00] sql.INFO: [1.64] select `zwname` from `job_position` where `zwid` = '5' limit 1 [] []
+[2025-06-13T00:55:17.315675+00:00] sql.INFO: [1.87] select `zwname` from `job_position` where `zwid` = '97' limit 1 [] []
+[2025-06-13T00:55:17.318318+00:00] sql.INFO: [1.96] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '3' limit 1 [] []
+[2025-06-13T00:55:17.320747+00:00] sql.INFO: [1.67] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '5' limit 1 [] []
+[2025-06-13T00:55:17.323305+00:00] sql.INFO: [1.88] select count(*) as aggregate from `job_hunting` where `status` = '2' and `job_hunting`.`website_id` = '2' [] []
+[2025-06-13T00:55:17.326276+00:00] sql.INFO: [2.57] select `id`, `sexy`, `experience`, `origin`, `industry`, `name`, `job`, `job_name_get`, `city_arr_id`, `cat_arr_id`, `created_at`, `updated_at` from `job_hunting` where `status` = '2' and `job_hunting`.`website_id` = '2' order by `updated_at` desc limit 10 offset 0 [] []
+[2025-06-13T00:55:17.328728+00:00] sql.INFO: [1.77] select `aLIas_pinyin` from `website_category` where `category_id` in ('1') and `website_id` = '2' order by FIELD(category_id, 1) [] []
+[2025-06-13T00:55:17.330913+00:00] sql.INFO: [1.64] select `name` from `district` where `id` = '1' limit 1 [] []
+[2025-06-13T00:55:17.333240+00:00] sql.INFO: [1.78] select `hyname` from `job_industry` where `hyid` = '1' limit 1 [] []
+[2025-06-13T00:55:17.335594+00:00] sql.INFO: [1.73] select `zwname` from `job_position` where `zwid` = '1' limit 1 [] []
+[2025-06-13T00:55:17.337855+00:00] sql.INFO: [1.67] select `zwname` from `job_position` where `zwid` = '35' limit 1 [] []
+[2025-06-13T00:55:21.495286+00:00] sql.INFO: [2.22] select `id`, `website_name` from `website` where `id` = '2' limit 1 [] []
+[2025-06-13T00:55:21.498503+00:00] sql.INFO: [2.4] select count(*) as aggregate from `job_recruiting` left join `job_company` on `job_recruiting`.`id` = `job_company`.`job_id` where `job_recruiting`.`status` = '1' and `job_recruiting`.`website_id` = '2' [] []
+[2025-06-13T00:55:21.503367+00:00] sql.INFO: [4.3] select `job_recruiting`.`id`, `job_recruiting`.`hy_id`, `job_recruiting`.`title`, `job_recruiting`.`zw_id`, `job_recruiting`.`educational`, `job_recruiting`.`jtzw_id`, `job_recruiting`.`city_arr_id`, `job_recruiting`.`due_data`, `job_recruiting`.`experience`, `job_recruiting`.`cat_arr_id`, `job_recruiting`.`updated_at`, `job_company`.`business_name` from `job_recruiting` left join `job_company` on `job_recruiting`.`id` = `job_company`.`job_id` where `job_recruiting`.`status` = '1' and `job_recruiting`.`website_id` = '2' order by `updated_at` desc limit 10 offset 0 [] []
+[2025-06-13T00:55:21.508190+00:00] sql.INFO: [2.3] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '601') and `website_id` = '2' order by FIELD(category_id, 20,601) [] []
+[2025-06-13T00:55:21.510962+00:00] sql.INFO: [1.77] select `name` from `district` where `id` = '413' limit 1 [] []
+[2025-06-13T00:55:21.513350+00:00] sql.INFO: [1.66] select `hyname` from `job_industry` where `hyid` = '1' limit 1 [] []
+[2025-06-13T00:55:21.515775+00:00] sql.INFO: [1.81] select `zwname` from `job_position` where `zwid` = '1' limit 1 [] []
+[2025-06-13T00:55:21.518133+00:00] sql.INFO: [1.7] select `zwname` from `job_position` where `zwid` = '35' limit 1 [] []
+[2025-06-13T00:55:21.520940+00:00] sql.INFO: [1.93] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '601') and `website_id` = '2' order by FIELD(category_id, 20,601) [] []
+[2025-06-13T00:55:21.523780+00:00] sql.INFO: [1.92] select `name` from `district` where `id` = '413' limit 1 [] []
+[2025-06-13T00:55:21.526189+00:00] sql.INFO: [1.68] select `hyname` from `job_industry` where `hyid` = '1' limit 1 [] []
+[2025-06-13T00:55:21.528646+00:00] sql.INFO: [1.76] select `zwname` from `job_position` where `zwid` = '1' limit 1 [] []
+[2025-06-13T00:55:21.530893+00:00] sql.INFO: [1.68] select `zwname` from `job_position` where `zwid` = '35' limit 1 [] []
+[2025-06-13T00:55:21.533473+00:00] sql.INFO: [1.94] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '584') and `website_id` = '2' order by FIELD(category_id, 20,584) [] []
+[2025-06-13T00:55:21.536011+00:00] sql.INFO: [1.67] select `name` from `district` where `id` = '374' limit 1 [] []
+[2025-06-13T00:55:21.538551+00:00] sql.INFO: [1.75] select `hyname` from `job_industry` where `hyid` = '2' limit 1 [] []
+[2025-06-13T00:55:21.540934+00:00] sql.INFO: [1.71] select `zwname` from `job_position` where `zwid` = '2' limit 1 [] []
+[2025-06-13T00:55:21.543482+00:00] sql.INFO: [1.87] select `zwname` from `job_position` where `zwid` = '129' limit 1 [] []
+[2025-06-13T00:55:21.546331+00:00] sql.INFO: [2.25] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '3' limit 1 [] []
+[2025-06-13T00:55:21.548782+00:00] sql.INFO: [1.75] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '3' limit 1 [] []
+[2025-06-13T00:55:21.551427+00:00] sql.INFO: [2.05] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '584') and `website_id` = '2' order by FIELD(category_id, 20,584) [] []
+[2025-06-13T00:55:21.554293+00:00] sql.INFO: [1.91] select `name` from `district` where `id` = '413' limit 1 [] []
+[2025-06-13T00:55:21.556895+00:00] sql.INFO: [1.85] select `hyname` from `job_industry` where `hyid` = '1' limit 1 [] []
+[2025-06-13T00:55:21.559587+00:00] sql.INFO: [1.97] select `zwname` from `job_position` where `zwid` = '1' limit 1 [] []
+[2025-06-13T00:55:21.561933+00:00] sql.INFO: [1.72] select `zwname` from `job_position` where `zwid` = '45' limit 1 [] []
+[2025-06-13T00:55:21.564979+00:00] sql.INFO: [2.34] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '2' limit 1 [] []
+[2025-06-13T00:55:21.567510+00:00] sql.INFO: [1.91] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '2' limit 1 [] []
+[2025-06-13T00:55:21.570404+00:00] sql.INFO: [2.12] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '584') and `website_id` = '2' order by FIELD(category_id, 20,584) [] []
+[2025-06-13T00:55:21.572974+00:00] sql.INFO: [1.67] select `name` from `district` where `id` = '413' limit 1 [] []
+[2025-06-13T00:55:21.575519+00:00] sql.INFO: [1.8] select `hyname` from `job_industry` where `hyid` = '1' limit 1 [] []
+[2025-06-13T00:55:21.577937+00:00] sql.INFO: [1.75] select `zwname` from `job_position` where `zwid` = '1' limit 1 [] []
+[2025-06-13T00:55:21.580153+00:00] sql.INFO: [1.58] select `zwname` from `job_position` where `zwid` = '45' limit 1 [] []
+[2025-06-13T00:55:21.582904+00:00] sql.INFO: [2.07] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '2' limit 1 [] []
+[2025-06-13T00:55:21.585472+00:00] sql.INFO: [1.81] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '2' limit 1 [] []
+[2025-06-13T00:55:21.588180+00:00] sql.INFO: [1.9] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '584') and `website_id` = '2' order by FIELD(category_id, 20,584) [] []
+[2025-06-13T00:55:21.590862+00:00] sql.INFO: [1.96] select `name` from `district` where `id` = '81' limit 1 [] []
+[2025-06-13T00:55:21.593368+00:00] sql.INFO: [1.9] select `hyname` from `job_industry` where `hyid` = '4' limit 1 [] []
+[2025-06-13T00:55:21.595687+00:00] sql.INFO: [1.7] select `zwname` from `job_position` where `zwid` = '2' limit 1 [] []
+[2025-06-13T00:55:21.597925+00:00] sql.INFO: [1.64] select `zwname` from `job_position` where `zwid` = '131' limit 1 [] []
+[2025-06-13T00:55:21.600635+00:00] sql.INFO: [2.1] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '2' limit 1 [] []
+[2025-06-13T00:55:21.603326+00:00] sql.INFO: [1.9] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '3' limit 1 [] []
+[2025-06-13T00:55:21.606180+00:00] sql.INFO: [2.13] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '584') and `website_id` = '2' order by FIELD(category_id, 20,584) [] []
+[2025-06-13T00:55:21.608895+00:00] sql.INFO: [1.82] select `name` from `district` where `id` = '310' limit 1 [] []
+[2025-06-13T00:55:21.611467+00:00] sql.INFO: [1.97] select `hyname` from `job_industry` where `hyid` = '3' limit 1 [] []
+[2025-06-13T00:55:21.613762+00:00] sql.INFO: [1.69] select `zwname` from `job_position` where `zwid` = '2' limit 1 [] []
+[2025-06-13T00:55:21.616145+00:00] sql.INFO: [1.71] select `zwname` from `job_position` where `zwid` = '129' limit 1 [] []
+[2025-06-13T00:55:21.619051+00:00] sql.INFO: [2.09] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '3' limit 1 [] []
+[2025-06-13T00:55:21.621707+00:00] sql.INFO: [1.91] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '2' limit 1 [] []
+[2025-06-13T00:55:21.624495+00:00] sql.INFO: [2.19] select `aLIas_pinyin` from `website_category` where `category_id` in ('2', '210') and `website_id` = '2' order by FIELD(category_id, 2,210) [] []
+[2025-06-13T00:55:21.627313+00:00] sql.INFO: [2.01] select `name` from `district` where `id` = '303' limit 1 [] []
+[2025-06-13T00:55:21.629726+00:00] sql.INFO: [1.79] select `hyname` from `job_industry` where `hyid` = '4' limit 1 [] []
+[2025-06-13T00:55:21.632119+00:00] sql.INFO: [1.84] select `zwname` from `job_position` where `zwid` = '1' limit 1 [] []
+[2025-06-13T00:55:21.634650+00:00] sql.INFO: [1.84] select `zwname` from `job_position` where `zwid` = '70' limit 1 [] []
+[2025-06-13T00:55:21.637474+00:00] sql.INFO: [2.17] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '2' limit 1 [] []
+[2025-06-13T00:55:21.640103+00:00] sql.INFO: [1.94] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '4' limit 1 [] []
+[2025-06-13T00:55:21.643020+00:00] sql.INFO: [2.28] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '584') and `website_id` = '2' order by FIELD(category_id, 20,584) [] []
+[2025-06-13T00:55:21.645575+00:00] sql.INFO: [1.81] select `name` from `district` where `id` = '143' limit 1 [] []
+[2025-06-13T00:55:21.648242+00:00] sql.INFO: [2.02] select `hyname` from `job_industry` where `hyid` = '4' limit 1 [] []
+[2025-06-13T00:55:21.650758+00:00] sql.INFO: [1.85] select `zwname` from `job_position` where `zwid` = '5' limit 1 [] []
+[2025-06-13T00:55:21.653336+00:00] sql.INFO: [1.83] select `zwname` from `job_position` where `zwid` = '97' limit 1 [] []
+[2025-06-13T00:55:21.656520+00:00] sql.INFO: [2.58] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '3' limit 1 [] []
+[2025-06-13T00:55:21.659005+00:00] sql.INFO: [1.9] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '5' limit 1 [] []
+[2025-06-13T00:55:21.661687+00:00] sql.INFO: [2.08] select count(*) as aggregate from `job_hunting` where `status` = '2' and `job_hunting`.`website_id` = '2' [] []
+[2025-06-13T00:55:21.664659+00:00] sql.INFO: [2.65] select `id`, `sexy`, `experience`, `origin`, `industry`, `name`, `job`, `job_name_get`, `city_arr_id`, `cat_arr_id`, `created_at`, `updated_at` from `job_hunting` where `status` = '2' and `job_hunting`.`website_id` = '2' order by `updated_at` desc limit 10 offset 0 [] []
+[2025-06-13T00:55:21.667274+00:00] sql.INFO: [1.98] select `aLIas_pinyin` from `website_category` where `category_id` in ('1') and `website_id` = '2' order by FIELD(category_id, 1) [] []
+[2025-06-13T00:55:21.669794+00:00] sql.INFO: [1.84] select `name` from `district` where `id` = '1' limit 1 [] []
+[2025-06-13T00:55:21.672267+00:00] sql.INFO: [1.82] select `hyname` from `job_industry` where `hyid` = '1' limit 1 [] []
+[2025-06-13T00:55:21.674760+00:00] sql.INFO: [1.87] select `zwname` from `job_position` where `zwid` = '1' limit 1 [] []
+[2025-06-13T00:55:21.677078+00:00] sql.INFO: [1.74] select `zwname` from `job_position` where `zwid` = '35' limit 1 [] []
+[2025-06-13T00:55:23.990302+00:00] sql.INFO: [2.29] select `id`, `website_name` from `website` where `id` = '2' limit 1 [] []
+[2025-06-13T00:55:23.993315+00:00] sql.INFO: [2.22] select count(*) as aggregate from `job_recruiting` left join `job_company` on `job_recruiting`.`id` = `job_company`.`job_id` where `job_recruiting`.`status` = '1' and `job_recruiting`.`website_id` = '2' [] []
+[2025-06-13T00:55:23.997236+00:00] sql.INFO: [3.49] select `job_recruiting`.`id`, `job_recruiting`.`hy_id`, `job_recruiting`.`title`, `job_recruiting`.`zw_id`, `job_recruiting`.`educational`, `job_recruiting`.`jtzw_id`, `job_recruiting`.`city_arr_id`, `job_recruiting`.`due_data`, `job_recruiting`.`experience`, `job_recruiting`.`cat_arr_id`, `job_recruiting`.`updated_at`, `job_company`.`business_name` from `job_recruiting` left join `job_company` on `job_recruiting`.`id` = `job_company`.`job_id` where `job_recruiting`.`status` = '1' and `job_recruiting`.`website_id` = '2' order by `updated_at` desc limit 10 offset 0 [] []
+[2025-06-13T00:55:24.001422+00:00] sql.INFO: [2.19] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '601') and `website_id` = '2' order by FIELD(category_id, 20,601) [] []
+[2025-06-13T00:55:24.004399+00:00] sql.INFO: [1.91] select `name` from `district` where `id` = '413' limit 1 [] []
+[2025-06-13T00:55:24.006816+00:00] sql.INFO: [1.68] select `hyname` from `job_industry` where `hyid` = '1' limit 1 [] []
+[2025-06-13T00:55:24.009496+00:00] sql.INFO: [1.91] select `zwname` from `job_position` where `zwid` = '1' limit 1 [] []
+[2025-06-13T00:55:24.011772+00:00] sql.INFO: [1.76] select `zwname` from `job_position` where `zwid` = '35' limit 1 [] []
+[2025-06-13T00:55:24.014405+00:00] sql.INFO: [1.99] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '601') and `website_id` = '2' order by FIELD(category_id, 20,601) [] []
+[2025-06-13T00:55:24.017004+00:00] sql.INFO: [1.88] select `name` from `district` where `id` = '413' limit 1 [] []
+[2025-06-13T00:55:24.020084+00:00] sql.INFO: [2.34] select `hyname` from `job_industry` where `hyid` = '1' limit 1 [] []
+[2025-06-13T00:55:24.022660+00:00] sql.INFO: [1.87] select `zwname` from `job_position` where `zwid` = '1' limit 1 [] []
+[2025-06-13T00:55:24.025016+00:00] sql.INFO: [1.65] select `zwname` from `job_position` where `zwid` = '35' limit 1 [] []
+[2025-06-13T00:55:24.027431+00:00] sql.INFO: [1.75] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '584') and `website_id` = '2' order by FIELD(category_id, 20,584) [] []
+[2025-06-13T00:55:24.029770+00:00] sql.INFO: [1.62] select `name` from `district` where `id` = '374' limit 1 [] []
+[2025-06-13T00:55:24.031934+00:00] sql.INFO: [1.58] select `hyname` from `job_industry` where `hyid` = '2' limit 1 [] []
+[2025-06-13T00:55:24.034355+00:00] sql.INFO: [1.82] select `zwname` from `job_position` where `zwid` = '2' limit 1 [] []
+[2025-06-13T00:55:24.036980+00:00] sql.INFO: [1.77] select `zwname` from `job_position` where `zwid` = '129' limit 1 [] []
+[2025-06-13T00:55:24.039890+00:00] sql.INFO: [2.24] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '3' limit 1 [] []
+[2025-06-13T00:55:24.042285+00:00] sql.INFO: [1.68] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '3' limit 1 [] []
+[2025-06-13T00:55:24.044674+00:00] sql.INFO: [1.76] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '584') and `website_id` = '2' order by FIELD(category_id, 20,584) [] []
+[2025-06-13T00:55:24.047099+00:00] sql.INFO: [1.69] select `name` from `district` where `id` = '413' limit 1 [] []
+[2025-06-13T00:55:24.049479+00:00] sql.INFO: [1.76] select `hyname` from `job_industry` where `hyid` = '1' limit 1 [] []
+[2025-06-13T00:55:24.051779+00:00] sql.INFO: [1.67] select `zwname` from `job_position` where `zwid` = '1' limit 1 [] []
+[2025-06-13T00:55:24.054314+00:00] sql.INFO: [1.88] select `zwname` from `job_position` where `zwid` = '45' limit 1 [] []
+[2025-06-13T00:55:24.057074+00:00] sql.INFO: [2.01] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '2' limit 1 [] []
+[2025-06-13T00:55:24.059597+00:00] sql.INFO: [1.7] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '2' limit 1 [] []
+[2025-06-13T00:55:24.062018+00:00] sql.INFO: [1.82] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '584') and `website_id` = '2' order by FIELD(category_id, 20,584) [] []
+[2025-06-13T00:55:24.064411+00:00] sql.INFO: [1.66] select `name` from `district` where `id` = '413' limit 1 [] []
+[2025-06-13T00:55:24.066712+00:00] sql.INFO: [1.71] select `hyname` from `job_industry` where `hyid` = '1' limit 1 [] []
+[2025-06-13T00:55:24.069022+00:00] sql.INFO: [1.58] select `zwname` from `job_position` where `zwid` = '1' limit 1 [] []
+[2025-06-13T00:55:24.071382+00:00] sql.INFO: [1.62] select `zwname` from `job_position` where `zwid` = '45' limit 1 [] []
+[2025-06-13T00:55:24.074096+00:00] sql.INFO: [2.01] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '2' limit 1 [] []
+[2025-06-13T00:55:24.076737+00:00] sql.INFO: [1.89] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '2' limit 1 [] []
+[2025-06-13T00:55:24.079210+00:00] sql.INFO: [1.87] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '584') and `website_id` = '2' order by FIELD(category_id, 20,584) [] []
+[2025-06-13T00:55:24.083599+00:00] sql.INFO: [3.29] select `name` from `district` where `id` = '81' limit 1 [] []
+[2025-06-13T00:55:24.086134+00:00] sql.INFO: [1.74] select `hyname` from `job_industry` where `hyid` = '4' limit 1 [] []
+[2025-06-13T00:55:24.088373+00:00] sql.INFO: [1.62] select `zwname` from `job_position` where `zwid` = '2' limit 1 [] []
+[2025-06-13T00:55:24.090882+00:00] sql.INFO: [1.8] select `zwname` from `job_position` where `zwid` = '131' limit 1 [] []
+[2025-06-13T00:55:24.093557+00:00] sql.INFO: [1.97] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '2' limit 1 [] []
+[2025-06-13T00:55:24.096280+00:00] sql.INFO: [1.97] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '3' limit 1 [] []
+[2025-06-13T00:55:24.098892+00:00] sql.INFO: [1.91] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '584') and `website_id` = '2' order by FIELD(category_id, 20,584) [] []
+[2025-06-13T00:55:24.101517+00:00] sql.INFO: [1.81] select `name` from `district` where `id` = '310' limit 1 [] []
+[2025-06-13T00:55:24.103942+00:00] sql.INFO: [1.76] select `hyname` from `job_industry` where `hyid` = '3' limit 1 [] []
+[2025-06-13T00:55:24.106365+00:00] sql.INFO: [1.77] select `zwname` from `job_position` where `zwid` = '2' limit 1 [] []
+[2025-06-13T00:55:24.108623+00:00] sql.INFO: [1.64] select `zwname` from `job_position` where `zwid` = '129' limit 1 [] []
+[2025-06-13T00:55:24.111368+00:00] sql.INFO: [2.15] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '3' limit 1 [] []
+[2025-06-13T00:55:24.113539+00:00] sql.INFO: [1.63] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '2' limit 1 [] []
+[2025-06-13T00:55:24.115979+00:00] sql.INFO: [1.8] select `aLIas_pinyin` from `website_category` where `category_id` in ('2', '210') and `website_id` = '2' order by FIELD(category_id, 2,210) [] []
+[2025-06-13T00:55:24.118561+00:00] sql.INFO: [1.78] select `name` from `district` where `id` = '303' limit 1 [] []
+[2025-06-13T00:55:24.121080+00:00] sql.INFO: [1.82] select `hyname` from `job_industry` where `hyid` = '4' limit 1 [] []
+[2025-06-13T00:55:24.123299+00:00] sql.INFO: [1.61] select `zwname` from `job_position` where `zwid` = '1' limit 1 [] []
+[2025-06-13T00:55:24.125423+00:00] sql.INFO: [1.56] select `zwname` from `job_position` where `zwid` = '70' limit 1 [] []
+[2025-06-13T00:55:24.128026+00:00] sql.INFO: [2.02] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '2' limit 1 [] []
+[2025-06-13T00:55:24.130354+00:00] sql.INFO: [1.71] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '4' limit 1 [] []
+[2025-06-13T00:55:24.132886+00:00] sql.INFO: [1.94] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '584') and `website_id` = '2' order by FIELD(category_id, 20,584) [] []
+[2025-06-13T00:55:24.135460+00:00] sql.INFO: [1.82] select `name` from `district` where `id` = '143' limit 1 [] []
+[2025-06-13T00:55:24.137789+00:00] sql.INFO: [1.66] select `hyname` from `job_industry` where `hyid` = '4' limit 1 [] []
+[2025-06-13T00:55:24.140111+00:00] sql.INFO: [1.77] select `zwname` from `job_position` where `zwid` = '5' limit 1 [] []
+[2025-06-13T00:55:24.142359+00:00] sql.INFO: [1.69] select `zwname` from `job_position` where `zwid` = '97' limit 1 [] []
+[2025-06-13T00:55:24.144995+00:00] sql.INFO: [2.02] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '3' limit 1 [] []
+[2025-06-13T00:55:24.147457+00:00] sql.INFO: [1.93] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '5' limit 1 [] []
+[2025-06-13T00:55:24.149910+00:00] sql.INFO: [1.88] select count(*) as aggregate from `job_hunting` where `status` = '2' and `job_hunting`.`website_id` = '2' [] []
+[2025-06-13T00:55:24.152924+00:00] sql.INFO: [2.57] select `id`, `sexy`, `experience`, `origin`, `industry`, `name`, `job`, `job_name_get`, `city_arr_id`, `cat_arr_id`, `created_at`, `updated_at` from `job_hunting` where `status` = '2' and `job_hunting`.`website_id` = '2' order by `updated_at` desc limit 10 offset 0 [] []
+[2025-06-13T00:55:24.155638+00:00] sql.INFO: [2.07] select `aLIas_pinyin` from `website_category` where `category_id` in ('1') and `website_id` = '2' order by FIELD(category_id, 1) [] []
+[2025-06-13T00:55:24.158023+00:00] sql.INFO: [1.69] select `name` from `district` where `id` = '1' limit 1 [] []
+[2025-06-13T00:55:24.160377+00:00] sql.INFO: [1.78] select `hyname` from `job_industry` where `hyid` = '1' limit 1 [] []
+[2025-06-13T00:55:24.162686+00:00] sql.INFO: [1.75] select `zwname` from `job_position` where `zwid` = '1' limit 1 [] []
+[2025-06-13T00:55:24.165018+00:00] sql.INFO: [1.76] select `zwname` from `job_position` where `zwid` = '35' limit 1 [] []
+[2025-06-13T01:00:04.178602+00:00] sql.INFO: [14.3] select `id`, `website_name` from `website` where `id` = '2' limit 1 [] []
+[2025-06-13T01:00:04.214418+00:00] sql.INFO: [3.63] select count(*) as aggregate from `job_recruiting` left join `job_company` on `job_recruiting`.`id` = `job_company`.`job_id` where `job_recruiting`.`status` = '1' and `job_recruiting`.`website_id` = '2' and (`title` like '%11%') [] []
+[2025-06-13T01:00:04.218483+00:00] sql.INFO: [3.57] select `job_recruiting`.`id`, `job_recruiting`.`hy_id`, `job_recruiting`.`title`, `job_recruiting`.`zw_id`, `job_recruiting`.`educational`, `job_recruiting`.`jtzw_id`, `job_recruiting`.`city_arr_id`, `job_recruiting`.`due_data`, `job_recruiting`.`experience`, `job_recruiting`.`cat_arr_id`, `job_recruiting`.`updated_at`, `job_company`.`business_name` from `job_recruiting` left join `job_company` on `job_recruiting`.`id` = `job_company`.`job_id` where `job_recruiting`.`status` = '1' and `job_recruiting`.`website_id` = '2' and (`title` like '%11%') order by `updated_at` desc limit 10 offset 0 [] []
+[2025-06-13T01:00:04.226172+00:00] sql.INFO: [2.18] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '601') and `website_id` = '2' order by FIELD(category_id, 20,601) [] []
+[2025-06-13T01:00:04.233125+00:00] sql.INFO: [2.27] select `name` from `district` where `id` = '413' limit 1 [] []
+[2025-06-13T01:00:04.240889+00:00] sql.INFO: [2.04] select `hyname` from `job_industry` where `hyid` = '1' limit 1 [] []
+[2025-06-13T01:00:04.248549+00:00] sql.INFO: [2.05] select `zwname` from `job_position` where `zwid` = '1' limit 1 [] []
+[2025-06-13T01:00:04.251274+00:00] sql.INFO: [1.9] select `zwname` from `job_position` where `zwid` = '35' limit 1 [] []
+[2025-06-13T01:00:04.258721+00:00] sql.INFO: [2.35] select count(*) as aggregate from `job_hunting` where `status` = '2' and `job_hunting`.`website_id` = '2' and (`name` like '%11%') [] []
+[2025-06-13T01:00:04.261683+00:00] sql.INFO: [2.53] select `id`, `sexy`, `experience`, `origin`, `industry`, `name`, `job`, `job_name_get`, `city_arr_id`, `cat_arr_id`, `created_at`, `updated_at` from `job_hunting` where `status` = '2' and `job_hunting`.`website_id` = '2' and (`name` like '%11%') order by `updated_at` desc limit 10 offset 0 [] []
+[2025-06-13T01:00:15.758189+00:00] sql.INFO: [2.13] select `id`, `website_name` from `website` where `id` = '2' limit 1 [] []
+[2025-06-13T01:00:15.761600+00:00] sql.INFO: [2.61] select count(*) as aggregate from `job_recruiting` left join `job_company` on `job_recruiting`.`id` = `job_company`.`job_id` where `job_recruiting`.`status` = '1' and `job_recruiting`.`website_id` = '2' [] []
+[2025-06-13T01:00:15.766189+00:00] sql.INFO: [4] select `job_recruiting`.`id`, `job_recruiting`.`hy_id`, `job_recruiting`.`title`, `job_recruiting`.`zw_id`, `job_recruiting`.`educational`, `job_recruiting`.`jtzw_id`, `job_recruiting`.`city_arr_id`, `job_recruiting`.`due_data`, `job_recruiting`.`experience`, `job_recruiting`.`cat_arr_id`, `job_recruiting`.`updated_at`, `job_company`.`business_name` from `job_recruiting` left join `job_company` on `job_recruiting`.`id` = `job_company`.`job_id` where `job_recruiting`.`status` = '1' and `job_recruiting`.`website_id` = '2' order by `updated_at` desc limit 10 offset 0 [] []
+[2025-06-13T01:00:15.771313+00:00] sql.INFO: [2.27] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '601') and `website_id` = '2' order by FIELD(category_id, 20,601) [] []
+[2025-06-13T01:00:15.774755+00:00] sql.INFO: [2.28] select `name` from `district` where `id` = '413' limit 1 [] []
+[2025-06-13T01:00:15.777416+00:00] sql.INFO: [1.84] select `hyname` from `job_industry` where `hyid` = '1' limit 1 [] []
+[2025-06-13T01:00:15.779918+00:00] sql.INFO: [1.73] select `zwname` from `job_position` where `zwid` = '1' limit 1 [] []
+[2025-06-13T01:00:15.782545+00:00] sql.INFO: [1.9] select `zwname` from `job_position` where `zwid` = '35' limit 1 [] []
+[2025-06-13T01:00:15.786042+00:00] sql.INFO: [2.19] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '601') and `website_id` = '2' order by FIELD(category_id, 20,601) [] []
+[2025-06-13T01:00:15.788886+00:00] sql.INFO: [1.76] select `name` from `district` where `id` = '413' limit 1 [] []
+[2025-06-13T01:00:15.791788+00:00] sql.INFO: [2.1] select `hyname` from `job_industry` where `hyid` = '1' limit 1 [] []
+[2025-06-13T01:00:15.794363+00:00] sql.INFO: [1.79] select `zwname` from `job_position` where `zwid` = '1' limit 1 [] []
+[2025-06-13T01:00:15.796989+00:00] sql.INFO: [1.76] select `zwname` from `job_position` where `zwid` = '35' limit 1 [] []
+[2025-06-13T01:00:15.799906+00:00] sql.INFO: [2.13] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '584') and `website_id` = '2' order by FIELD(category_id, 20,584) [] []
+[2025-06-13T01:00:15.802867+00:00] sql.INFO: [1.84] select `name` from `district` where `id` = '374' limit 1 [] []
+[2025-06-13T01:00:15.805338+00:00] sql.INFO: [1.76] select `hyname` from `job_industry` where `hyid` = '2' limit 1 [] []
+[2025-06-13T01:00:15.808171+00:00] sql.INFO: [1.85] select `zwname` from `job_position` where `zwid` = '2' limit 1 [] []
+[2025-06-13T01:00:15.810837+00:00] sql.INFO: [1.83] select `zwname` from `job_position` where `zwid` = '129' limit 1 [] []
+[2025-06-13T01:00:15.821487+00:00] sql.INFO: [2.66] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '3' limit 1 [] []
+[2025-06-13T01:00:15.824648+00:00] sql.INFO: [2.04] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '3' limit 1 [] []
+[2025-06-13T01:00:15.827601+00:00] sql.INFO: [2.12] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '584') and `website_id` = '2' order by FIELD(category_id, 20,584) [] []
+[2025-06-13T01:00:15.830498+00:00] sql.INFO: [1.86] select `name` from `district` where `id` = '413' limit 1 [] []
+[2025-06-13T01:00:15.833772+00:00] sql.INFO: [2.3] select `hyname` from `job_industry` where `hyid` = '1' limit 1 [] []
+[2025-06-13T01:00:15.836570+00:00] sql.INFO: [1.94] select `zwname` from `job_position` where `zwid` = '1' limit 1 [] []
+[2025-06-13T01:00:15.839061+00:00] sql.INFO: [1.81] select `zwname` from `job_position` where `zwid` = '45' limit 1 [] []
+[2025-06-13T01:00:15.841657+00:00] sql.INFO: [1.99] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '2' limit 1 [] []
+[2025-06-13T01:00:15.844064+00:00] sql.INFO: [1.83] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '2' limit 1 [] []
+[2025-06-13T01:00:15.846802+00:00] sql.INFO: [2.05] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '584') and `website_id` = '2' order by FIELD(category_id, 20,584) [] []
+[2025-06-13T01:00:15.849620+00:00] sql.INFO: [1.86] select `name` from `district` where `id` = '413' limit 1 [] []
+[2025-06-13T01:00:15.852408+00:00] sql.INFO: [1.92] select `hyname` from `job_industry` where `hyid` = '1' limit 1 [] []
+[2025-06-13T01:00:15.854947+00:00] sql.INFO: [1.81] select `zwname` from `job_position` where `zwid` = '1' limit 1 [] []
+[2025-06-13T01:00:15.857460+00:00] sql.INFO: [1.74] select `zwname` from `job_position` where `zwid` = '45' limit 1 [] []
+[2025-06-13T01:00:15.860493+00:00] sql.INFO: [2.26] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '2' limit 1 [] []
+[2025-06-13T01:00:15.862953+00:00] sql.INFO: [1.85] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '2' limit 1 [] []
+[2025-06-13T01:00:15.865529+00:00] sql.INFO: [1.9] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '584') and `website_id` = '2' order by FIELD(category_id, 20,584) [] []
+[2025-06-13T01:00:15.868565+00:00] sql.INFO: [2.23] select `name` from `district` where `id` = '81' limit 1 [] []
+[2025-06-13T01:00:15.871023+00:00] sql.INFO: [1.78] select `hyname` from `job_industry` where `hyid` = '4' limit 1 [] []
+[2025-06-13T01:00:15.873435+00:00] sql.INFO: [1.73] select `zwname` from `job_position` where `zwid` = '2' limit 1 [] []
+[2025-06-13T01:00:15.875767+00:00] sql.INFO: [1.71] select `zwname` from `job_position` where `zwid` = '131' limit 1 [] []
+[2025-06-13T01:00:15.878284+00:00] sql.INFO: [1.93] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '2' limit 1 [] []
+[2025-06-13T01:00:15.881095+00:00] sql.INFO: [2.07] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '3' limit 1 [] []
+[2025-06-13T01:00:15.883972+00:00] sql.INFO: [2.21] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '584') and `website_id` = '2' order by FIELD(category_id, 20,584) [] []
+[2025-06-13T01:00:15.886689+00:00] sql.INFO: [1.71] select `name` from `district` where `id` = '310' limit 1 [] []
+[2025-06-13T01:00:15.889144+00:00] sql.INFO: [1.69] select `hyname` from `job_industry` where `hyid` = '3' limit 1 [] []
+[2025-06-13T01:00:15.891449+00:00] sql.INFO: [1.68] select `zwname` from `job_position` where `zwid` = '2' limit 1 [] []
+[2025-06-13T01:00:15.894137+00:00] sql.INFO: [2.04] select `zwname` from `job_position` where `zwid` = '129' limit 1 [] []
+[2025-06-13T01:00:15.896958+00:00] sql.INFO: [2.22] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '3' limit 1 [] []
+[2025-06-13T01:00:15.899423+00:00] sql.INFO: [1.84] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '2' limit 1 [] []
+[2025-06-13T01:00:15.902292+00:00] sql.INFO: [2.04] select `aLIas_pinyin` from `website_category` where `category_id` in ('2', '210') and `website_id` = '2' order by FIELD(category_id, 2,210) [] []
+[2025-06-13T01:00:15.904926+00:00] sql.INFO: [1.68] select `name` from `district` where `id` = '303' limit 1 [] []
+[2025-06-13T01:00:15.907612+00:00] sql.INFO: [2.02] select `hyname` from `job_industry` where `hyid` = '4' limit 1 [] []
+[2025-06-13T01:00:15.910024+00:00] sql.INFO: [1.68] select `zwname` from `job_position` where `zwid` = '1' limit 1 [] []
+[2025-06-13T01:00:15.912159+00:00] sql.INFO: [1.53] select `zwname` from `job_position` where `zwid` = '70' limit 1 [] []
+[2025-06-13T01:00:15.915111+00:00] sql.INFO: [2.29] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '2' limit 1 [] []
+[2025-06-13T01:00:15.917613+00:00] sql.INFO: [1.79] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '4' limit 1 [] []
+[2025-06-13T01:00:15.920588+00:00] sql.INFO: [2.24] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '584') and `website_id` = '2' order by FIELD(category_id, 20,584) [] []
+[2025-06-13T01:00:15.922968+00:00] sql.INFO: [1.63] select `name` from `district` where `id` = '143' limit 1 [] []
+[2025-06-13T01:00:15.925371+00:00] sql.INFO: [1.79] select `hyname` from `job_industry` where `hyid` = '4' limit 1 [] []
+[2025-06-13T01:00:15.927731+00:00] sql.INFO: [1.61] select `zwname` from `job_position` where `zwid` = '5' limit 1 [] []
+[2025-06-13T01:00:15.929941+00:00] sql.INFO: [1.65] select `zwname` from `job_position` where `zwid` = '97' limit 1 [] []
+[2025-06-13T01:00:15.932608+00:00] sql.INFO: [2.08] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '3' limit 1 [] []
+[2025-06-13T01:00:15.935386+00:00] sql.INFO: [1.98] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '5' limit 1 [] []
+[2025-06-13T01:00:15.937819+00:00] sql.INFO: [1.78] select count(*) as aggregate from `job_hunting` where `status` = '2' and `job_hunting`.`website_id` = '2' [] []
+[2025-06-13T01:00:15.940811+00:00] sql.INFO: [2.6] select `id`, `sexy`, `experience`, `origin`, `industry`, `name`, `job`, `job_name_get`, `city_arr_id`, `cat_arr_id`, `created_at`, `updated_at` from `job_hunting` where `status` = '2' and `job_hunting`.`website_id` = '2' order by `updated_at` desc limit 10 offset 0 [] []
+[2025-06-13T01:00:15.943239+00:00] sql.INFO: [1.77] select `aLIas_pinyin` from `website_category` where `category_id` in ('1') and `website_id` = '2' order by FIELD(category_id, 1) [] []
+[2025-06-13T01:00:15.945538+00:00] sql.INFO: [1.7] select `name` from `district` where `id` = '1' limit 1 [] []
+[2025-06-13T01:00:15.947740+00:00] sql.INFO: [1.66] select `hyname` from `job_industry` where `hyid` = '1' limit 1 [] []
+[2025-06-13T01:00:15.950089+00:00] sql.INFO: [1.8] select `zwname` from `job_position` where `zwid` = '1' limit 1 [] []
+[2025-06-13T01:00:15.952784+00:00] sql.INFO: [1.95] select `zwname` from `job_position` where `zwid` = '35' limit 1 [] []
+[2025-06-13T01:31:37.175186+00:00] sql.INFO: [14.98] select `id`, `website_name` from `website` where `id` = '2' limit 1 [] []
+[2025-06-13T01:31:37.207059+00:00] sql.INFO: [3.57] select count(*) as aggregate from `job_recruiting` left join `job_company` on `job_recruiting`.`id` = `job_company`.`job_id` where `job_recruiting`.`status` = '1' and `job_recruiting`.`website_id` = '2' [] []
+[2025-06-13T01:31:37.211374+00:00] sql.INFO: [3.84] select `job_recruiting`.`id`, `job_recruiting`.`hy_id`, `job_recruiting`.`title`, `job_recruiting`.`zw_id`, `job_recruiting`.`educational`, `job_recruiting`.`jtzw_id`, `job_recruiting`.`city_arr_id`, `job_recruiting`.`due_data`, `job_recruiting`.`experience`, `job_recruiting`.`cat_arr_id`, `job_recruiting`.`updated_at`, `job_company`.`business_name` from `job_recruiting` left join `job_company` on `job_recruiting`.`id` = `job_company`.`job_id` where `job_recruiting`.`status` = '1' and `job_recruiting`.`website_id` = '2' order by `updated_at` desc limit 10 offset 0 [] []
+[2025-06-13T01:31:37.221736+00:00] sql.INFO: [2.29] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '601') and `website_id` = '2' order by FIELD(category_id, 20,601) [] []
+[2025-06-13T01:31:37.231758+00:00] sql.INFO: [3.01] select `name` from `district` where `id` = '413' limit 1 [] []
+[2025-06-13T01:31:37.240663+00:00] sql.INFO: [2.02] select `hyname` from `job_industry` where `hyid` = '1' limit 1 [] []
+[2025-06-13T01:31:37.249589+00:00] sql.INFO: [1.94] select `zwname` from `job_position` where `zwid` = '1' limit 1 [] []
+[2025-06-13T01:31:37.251863+00:00] sql.INFO: [1.69] select `zwname` from `job_position` where `zwid` = '35' limit 1 [] []
+[2025-06-13T01:31:37.255046+00:00] sql.INFO: [2.39] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '601') and `website_id` = '2' order by FIELD(category_id, 20,601) [] []
+[2025-06-13T01:31:37.257616+00:00] sql.INFO: [1.78] select `name` from `district` where `id` = '413' limit 1 [] []
+[2025-06-13T01:31:37.259981+00:00] sql.INFO: [1.77] select `hyname` from `job_industry` where `hyid` = '1' limit 1 [] []
+[2025-06-13T01:31:37.262778+00:00] sql.INFO: [1.96] select `zwname` from `job_position` where `zwid` = '1' limit 1 [] []
+[2025-06-13T01:31:37.265119+00:00] sql.INFO: [1.7] select `zwname` from `job_position` where `zwid` = '35' limit 1 [] []
+[2025-06-13T01:31:37.267883+00:00] sql.INFO: [2.15] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '584') and `website_id` = '2' order by FIELD(category_id, 20,584) [] []
+[2025-06-13T01:31:37.270383+00:00] sql.INFO: [1.75] select `name` from `district` where `id` = '374' limit 1 [] []
+[2025-06-13T01:31:37.272887+00:00] sql.INFO: [1.68] select `hyname` from `job_industry` where `hyid` = '2' limit 1 [] []
+[2025-06-13T01:31:37.275351+00:00] sql.INFO: [1.82] select `zwname` from `job_position` where `zwid` = '2' limit 1 [] []
+[2025-06-13T01:31:37.277782+00:00] sql.INFO: [1.7] select `zwname` from `job_position` where `zwid` = '129' limit 1 [] []
+[2025-06-13T01:31:37.286852+00:00] sql.INFO: [2.43] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '3' limit 1 [] []
+[2025-06-13T01:31:37.289484+00:00] sql.INFO: [1.99] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '3' limit 1 [] []
+[2025-06-13T01:31:37.292572+00:00] sql.INFO: [2.33] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '584') and `website_id` = '2' order by FIELD(category_id, 20,584) [] []
+[2025-06-13T01:31:37.295253+00:00] sql.INFO: [1.82] select `name` from `district` where `id` = '413' limit 1 [] []
+[2025-06-13T01:31:37.297621+00:00] sql.INFO: [1.72] select `hyname` from `job_industry` where `hyid` = '1' limit 1 [] []
+[2025-06-13T01:31:37.299875+00:00] sql.INFO: [1.66] select `zwname` from `job_position` where `zwid` = '1' limit 1 [] []
+[2025-06-13T01:31:37.302126+00:00] sql.INFO: [1.69] select `zwname` from `job_position` where `zwid` = '45' limit 1 [] []
+[2025-06-13T01:31:37.305047+00:00] sql.INFO: [2.23] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '2' limit 1 [] []
+[2025-06-13T01:31:37.307758+00:00] sql.INFO: [1.9] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '2' limit 1 [] []
+[2025-06-13T01:31:37.310483+00:00] sql.INFO: [2.03] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '584') and `website_id` = '2' order by FIELD(category_id, 20,584) [] []
+[2025-06-13T01:31:37.312968+00:00] sql.INFO: [1.72] select `name` from `district` where `id` = '413' limit 1 [] []
+[2025-06-13T01:31:37.315286+00:00] sql.INFO: [1.75] select `hyname` from `job_industry` where `hyid` = '1' limit 1 [] []
+[2025-06-13T01:31:37.317584+00:00] sql.INFO: [1.76] select `zwname` from `job_position` where `zwid` = '1' limit 1 [] []
+[2025-06-13T01:31:37.320112+00:00] sql.INFO: [1.92] select `zwname` from `job_position` where `zwid` = '45' limit 1 [] []
+[2025-06-13T01:31:37.322945+00:00] sql.INFO: [2.16] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '2' limit 1 [] []
+[2025-06-13T01:31:37.325525+00:00] sql.INFO: [1.95] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '2' limit 1 [] []
+[2025-06-13T01:31:37.328783+00:00] sql.INFO: [2.62] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '584') and `website_id` = '2' order by FIELD(category_id, 20,584) [] []
+[2025-06-13T01:31:37.331311+00:00] sql.INFO: [1.77] select `name` from `district` where `id` = '81' limit 1 [] []
+[2025-06-13T01:31:37.333741+00:00] sql.INFO: [1.8] select `hyname` from `job_industry` where `hyid` = '4' limit 1 [] []
+[2025-06-13T01:31:37.336612+00:00] sql.INFO: [2.27] select `zwname` from `job_position` where `zwid` = '2' limit 1 [] []
+[2025-06-13T01:31:37.339294+00:00] sql.INFO: [1.91] select `zwname` from `job_position` where `zwid` = '131' limit 1 [] []
+[2025-06-13T01:31:37.342023+00:00] sql.INFO: [2.09] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '2' limit 1 [] []
+[2025-06-13T01:31:37.344408+00:00] sql.INFO: [1.76] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '3' limit 1 [] []
+[2025-06-13T01:31:37.347517+00:00] sql.INFO: [2.51] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '584') and `website_id` = '2' order by FIELD(category_id, 20,584) [] []
+[2025-06-13T01:31:37.349996+00:00] sql.INFO: [1.74] select `name` from `district` where `id` = '310' limit 1 [] []
+[2025-06-13T01:31:37.352393+00:00] sql.INFO: [1.79] select `hyname` from `job_industry` where `hyid` = '3' limit 1 [] []
+[2025-06-13T01:31:37.354980+00:00] sql.INFO: [1.92] select `zwname` from `job_position` where `zwid` = '2' limit 1 [] []
+[2025-06-13T01:31:37.357623+00:00] sql.INFO: [2.06] select `zwname` from `job_position` where `zwid` = '129' limit 1 [] []
+[2025-06-13T01:31:37.360450+00:00] sql.INFO: [2.14] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '3' limit 1 [] []
+[2025-06-13T01:31:37.363083+00:00] sql.INFO: [1.99] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '2' limit 1 [] []
+[2025-06-13T01:31:37.365793+00:00] sql.INFO: [2.14] select `aLIas_pinyin` from `website_category` where `category_id` in ('2', '210') and `website_id` = '2' order by FIELD(category_id, 2,210) [] []
+[2025-06-13T01:31:37.368735+00:00] sql.INFO: [2.19] select `name` from `district` where `id` = '303' limit 1 [] []
+[2025-06-13T01:31:37.371451+00:00] sql.INFO: [1.96] select `hyname` from `job_industry` where `hyid` = '4' limit 1 [] []
+[2025-06-13T01:31:37.374183+00:00] sql.INFO: [2] select `zwname` from `job_position` where `zwid` = '1' limit 1 [] []
+[2025-06-13T01:31:37.376437+00:00] sql.INFO: [1.66] select `zwname` from `job_position` where `zwid` = '70' limit 1 [] []
+[2025-06-13T01:31:37.379241+00:00] sql.INFO: [2.15] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '2' limit 1 [] []
+[2025-06-13T01:31:37.381697+00:00] sql.INFO: [1.9] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '4' limit 1 [] []
+[2025-06-13T01:31:37.384414+00:00] sql.INFO: [2.12] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '584') and `website_id` = '2' order by FIELD(category_id, 20,584) [] []
+[2025-06-13T01:31:37.386917+00:00] sql.INFO: [1.79] select `name` from `district` where `id` = '143' limit 1 [] []
+[2025-06-13T01:31:37.389162+00:00] sql.INFO: [1.67] select `hyname` from `job_industry` where `hyid` = '4' limit 1 [] []
+[2025-06-13T01:31:37.391473+00:00] sql.INFO: [1.65] select `zwname` from `job_position` where `zwid` = '5' limit 1 [] []
+[2025-06-13T01:31:37.393712+00:00] sql.INFO: [1.66] select `zwname` from `job_position` where `zwid` = '97' limit 1 [] []
+[2025-06-13T01:31:37.396344+00:00] sql.INFO: [2.09] select `ename` from `job_enum` where `egroup` = 'years' and `evalue` = '3' limit 1 [] []
+[2025-06-13T01:31:37.398664+00:00] sql.INFO: [1.7] select `ename` from `job_enum` where `egroup` = 'education' and `evalue` = '5' limit 1 [] []
+[2025-06-13T01:31:37.408439+00:00] sql.INFO: [2.4] select count(*) as aggregate from `job_hunting` left join `job_position` on `job_hunting`.`job_name_get` = `job_position`.`zwid` where `status` = '2' and `job_hunting`.`website_id` = '2' [] []
+[2025-06-13T01:31:37.411585+00:00] sql.INFO: [2.71] select `id`, `sexy`, `experience`, `origin`, `industry`, `name`, `job`, `job_name_get`, `city_arr_id`, `cat_arr_id`, `created_at`, `updated_at` from `job_hunting` left join `job_position` on `job_hunting`.`job_name_get` = `job_position`.`zwid` where `status` = '2' and `job_hunting`.`website_id` = '2' order by `updated_at` desc limit 10 offset 0 [] []
+[2025-06-13T01:31:37.414321+00:00] sql.INFO: [2.06] select `aLIas_pinyin` from `website_category` where `category_id` in ('1') and `website_id` = '2' order by FIELD(category_id, 1) [] []
+[2025-06-13T01:31:37.416995+00:00] sql.INFO: [2.06] select `name` from `district` where `id` = '1' limit 1 [] []
+[2025-06-13T01:31:37.419316+00:00] sql.INFO: [1.73] select `hyname` from `job_industry` where `hyid` = '1' limit 1 [] []
+[2025-06-13T01:31:37.421627+00:00] sql.INFO: [1.69] select `zwname` from `job_position` where `zwid` = '1' limit 1 [] []
+[2025-06-13T01:31:37.423790+00:00] sql.INFO: [1.64] select `zwname` from `job_position` where `zwid` = '35' limit 1 [] []
+[2025-06-13T01:31:54.171927+00:00] sql.INFO: [2.06] select `id`, `website_name` from `website` where `id` = '2' limit 1 [] []
+[2025-06-13T01:31:54.175728+00:00] sql.INFO: [2.75] select count(*) as aggregate from `job_recruiting` left join `job_company` on `job_recruiting`.`id` = `job_company`.`job_id` where `job_recruiting`.`status` = '1' and `job_recruiting`.`website_id` = '2' and (`title` like '%技术%') [] []
+[2025-06-13T01:31:54.179419+00:00] sql.INFO: [2.96] select `job_recruiting`.`id`, `job_recruiting`.`hy_id`, `job_recruiting`.`title`, `job_recruiting`.`zw_id`, `job_recruiting`.`educational`, `job_recruiting`.`jtzw_id`, `job_recruiting`.`city_arr_id`, `job_recruiting`.`due_data`, `job_recruiting`.`experience`, `job_recruiting`.`cat_arr_id`, `job_recruiting`.`updated_at`, `job_company`.`business_name` from `job_recruiting` left join `job_company` on `job_recruiting`.`id` = `job_company`.`job_id` where `job_recruiting`.`status` = '1' and `job_recruiting`.`website_id` = '2' and (`title` like '%技术%') order by `updated_at` desc limit 10 offset 0 [] []
+[2025-06-13T01:31:54.182157+00:00] sql.INFO: [2.24] select count(*) as aggregate from `job_hunting` left join `job_position` on `job_hunting`.`job_name_get` = `job_position`.`zwid` where `status` = '2' and `job_hunting`.`website_id` = '2' and `job_position`.`zwname` like '%技术%' [] []
+[2025-06-13T01:31:54.185195+00:00] sql.INFO: [2.63] select `id`, `sexy`, `experience`, `origin`, `industry`, `name`, `job`, `job_name_get`, `city_arr_id`, `cat_arr_id`, `created_at`, `updated_at` from `job_hunting` left join `job_position` on `job_hunting`.`job_name_get` = `job_position`.`zwid` where `status` = '2' and `job_hunting`.`website_id` = '2' and `job_position`.`zwname` like '%技术%' order by `updated_at` desc limit 10 offset 0 [] []
+[2025-06-13T01:31:54.187985+00:00] sql.INFO: [1.96] select `aLIas_pinyin` from `website_category` where `category_id` in ('1') and `website_id` = '2' order by FIELD(category_id, 1) [] []
+[2025-06-13T01:31:54.190832+00:00] sql.INFO: [1.92] select `name` from `district` where `id` = '1' limit 1 [] []
+[2025-06-13T01:31:54.193423+00:00] sql.INFO: [1.69] select `hyname` from `job_industry` where `hyid` = '1' limit 1 [] []
+[2025-06-13T01:31:54.195896+00:00] sql.INFO: [1.85] select `zwname` from `job_position` where `zwid` = '1' limit 1 [] []
+[2025-06-13T01:31:54.198059+00:00] sql.INFO: [1.61] select `zwname` from `job_position` where `zwid` = '35' limit 1 [] []
+[2025-06-13T01:32:01.838847+00:00] sql.INFO: [2.06] select `id`, `website_name` from `website` where `id` = '2' limit 1 [] []
+[2025-06-13T01:32:01.842414+00:00] sql.INFO: [2.78] select count(*) as aggregate from `job_recruiting` left join `job_company` on `job_recruiting`.`id` = `job_company`.`job_id` where `job_recruiting`.`status` = '1' and `job_recruiting`.`website_id` = '2' and (`title` like '%111%') [] []
+[2025-06-13T01:32:01.846262+00:00] sql.INFO: [3.36] select `job_recruiting`.`id`, `job_recruiting`.`hy_id`, `job_recruiting`.`title`, `job_recruiting`.`zw_id`, `job_recruiting`.`educational`, `job_recruiting`.`jtzw_id`, `job_recruiting`.`city_arr_id`, `job_recruiting`.`due_data`, `job_recruiting`.`experience`, `job_recruiting`.`cat_arr_id`, `job_recruiting`.`updated_at`, `job_company`.`business_name` from `job_recruiting` left join `job_company` on `job_recruiting`.`id` = `job_company`.`job_id` where `job_recruiting`.`status` = '1' and `job_recruiting`.`website_id` = '2' and (`title` like '%111%') order by `updated_at` desc limit 10 offset 0 [] []
+[2025-06-13T01:32:01.848968+00:00] sql.INFO: [2.04] select `aLIas_pinyin` from `website_category` where `category_id` in ('20', '601') and `website_id` = '2' order by FIELD(category_id, 20,601) [] []
+[2025-06-13T01:32:01.851535+00:00] sql.INFO: [1.8] select `name` from `district` where `id` = '413' limit 1 [] []
+[2025-06-13T01:32:01.853901+00:00] sql.INFO: [1.78] select `hyname` from `job_industry` where `hyid` = '1' limit 1 [] []
+[2025-06-13T01:32:01.856574+00:00] sql.INFO: [1.91] select `zwname` from `job_position` where `zwid` = '1' limit 1 [] []
+[2025-06-13T01:32:01.858915+00:00] sql.INFO: [1.64] select `zwname` from `job_position` where `zwid` = '35' limit 1 [] []
+[2025-06-13T01:32:01.861910+00:00] sql.INFO: [2.23] select count(*) as aggregate from `job_hunting` left join `job_position` on `job_hunting`.`job_name_get` = `job_position`.`zwid` where `status` = '2' and `job_hunting`.`website_id` = '2' and `job_position`.`zwname` like '%111%' [] []
+[2025-06-13T01:32:01.865019+00:00] sql.INFO: [2.66] select `id`, `sexy`, `experience`, `origin`, `industry`, `name`, `job`, `job_name_get`, `city_arr_id`, `cat_arr_id`, `created_at`, `updated_at` from `job_hunting` left join `job_position` on `job_hunting`.`job_name_get` = `job_position`.`zwid` where `status` = '2' and `job_hunting`.`website_id` = '2' and `job_position`.`zwname` like '%111%' order by `updated_at` desc limit 10 offset 0 [] []

+ 52 - 0
vendor/composer/autoload_classmap.php

@@ -135,6 +135,12 @@ return array(
     'Composer\\Pcre\\MatchResult' => $vendorDir . '/composer/pcre/src/MatchResult.php',
     'Composer\\Pcre\\MatchStrictGroupsResult' => $vendorDir . '/composer/pcre/src/MatchStrictGroupsResult.php',
     'Composer\\Pcre\\MatchWithOffsetsResult' => $vendorDir . '/composer/pcre/src/MatchWithOffsetsResult.php',
+    'Composer\\Pcre\\PHPStan\\InvalidRegexPatternRule' => $vendorDir . '/composer/pcre/src/PHPStan/InvalidRegexPatternRule.php',
+    'Composer\\Pcre\\PHPStan\\PregMatchFlags' => $vendorDir . '/composer/pcre/src/PHPStan/PregMatchFlags.php',
+    'Composer\\Pcre\\PHPStan\\PregMatchParameterOutTypeExtension' => $vendorDir . '/composer/pcre/src/PHPStan/PregMatchParameterOutTypeExtension.php',
+    'Composer\\Pcre\\PHPStan\\PregMatchTypeSpecifyingExtension' => $vendorDir . '/composer/pcre/src/PHPStan/PregMatchTypeSpecifyingExtension.php',
+    'Composer\\Pcre\\PHPStan\\PregReplaceCallbackClosureTypeExtension' => $vendorDir . '/composer/pcre/src/PHPStan/PregReplaceCallbackClosureTypeExtension.php',
+    'Composer\\Pcre\\PHPStan\\UnsafeStrictGroupsCallRule' => $vendorDir . '/composer/pcre/src/PHPStan/UnsafeStrictGroupsCallRule.php',
     'Composer\\Pcre\\PcreException' => $vendorDir . '/composer/pcre/src/PcreException.php',
     'Composer\\Pcre\\Preg' => $vendorDir . '/composer/pcre/src/Preg.php',
     'Composer\\Pcre\\Regex' => $vendorDir . '/composer/pcre/src/Regex.php',
@@ -183,6 +189,7 @@ return array(
     'DeepCopy\\Matcher\\PropertyTypeMatcher' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyTypeMatcher.php',
     'DeepCopy\\Reflection\\ReflectionHelper' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Reflection/ReflectionHelper.php',
     'DeepCopy\\TypeFilter\\Date\\DateIntervalFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Date/DateIntervalFilter.php',
+    'DeepCopy\\TypeFilter\\Date\\DatePeriodFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Date/DatePeriodFilter.php',
     'DeepCopy\\TypeFilter\\ReplaceFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/ReplaceFilter.php',
     'DeepCopy\\TypeFilter\\ShallowCopyFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/ShallowCopyFilter.php',
     'DeepCopy\\TypeFilter\\Spl\\ArrayObjectFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/ArrayObjectFilter.php',
@@ -570,6 +577,7 @@ return array(
     'Hyperf\\Command\\Concerns\\HasParameters' => $vendorDir . '/hyperf/command/src/Concerns/HasParameters.php',
     'Hyperf\\Command\\Concerns\\InteractsWithIO' => $vendorDir . '/hyperf/command/src/Concerns/InteractsWithIO.php',
     'Hyperf\\Command\\Concerns\\NullDisableEventDispatcher' => $vendorDir . '/hyperf/command/src/Concerns/NullDisableEventDispatcher.php',
+    'Hyperf\\Command\\Concerns\\Prohibitable' => $vendorDir . '/hyperf/command/src/Concerns/Prohibitable.php',
     'Hyperf\\Command\\ConfigProvider' => $vendorDir . '/hyperf/command/src/ConfigProvider.php',
     'Hyperf\\Command\\Console' => $vendorDir . '/hyperf/command/src/Console.php',
     'Hyperf\\Command\\Event\\AfterExecute' => $vendorDir . '/hyperf/command/src/Event/AfterExecute.php',
@@ -646,6 +654,7 @@ return array(
     'Hyperf\\Context\\Traits\\CoroutineProxy' => $vendorDir . '/hyperf/context/src/Traits/CoroutineProxy.php',
     'Hyperf\\Contract\\ApplicationInterface' => $vendorDir . '/hyperf/contract/src/ApplicationInterface.php',
     'Hyperf\\Contract\\Arrayable' => $vendorDir . '/hyperf/contract/src/Arrayable.php',
+    'Hyperf\\Contract\\CanBeEscapedWhenCastToString' => $vendorDir . '/hyperf/contract/src/CanBeEscapedWhenCastToString.php',
     'Hyperf\\Contract\\Castable' => $vendorDir . '/hyperf/contract/src/Castable.php',
     'Hyperf\\Contract\\CastsAttributes' => $vendorDir . '/hyperf/contract/src/CastsAttributes.php',
     'Hyperf\\Contract\\CastsInboundAttributes' => $vendorDir . '/hyperf/contract/src/CastsInboundAttributes.php',
@@ -690,6 +699,7 @@ return array(
     'Hyperf\\Coordinator\\CoordinatorManager' => $vendorDir . '/hyperf/coordinator/src/CoordinatorManager.php',
     'Hyperf\\Coordinator\\Listener\\ResumeExitCoordinatorListener' => $vendorDir . '/hyperf/coordinator/src/Listener/ResumeExitCoordinatorListener.php',
     'Hyperf\\Coordinator\\Timer' => $vendorDir . '/hyperf/coordinator/src/Timer.php',
+    'Hyperf\\Coroutine\\Barrier' => $vendorDir . '/hyperf/coroutine/src/Barrier.php',
     'Hyperf\\Coroutine\\Channel\\Caller' => $vendorDir . '/hyperf/coroutine/src/Channel/Caller.php',
     'Hyperf\\Coroutine\\Channel\\Manager' => $vendorDir . '/hyperf/coroutine/src/Channel/Manager.php',
     'Hyperf\\Coroutine\\Channel\\Pool' => $vendorDir . '/hyperf/coroutine/src/Channel/Pool.php',
@@ -702,7 +712,9 @@ return array(
     'Hyperf\\Coroutine\\Exception\\TimeoutException' => $vendorDir . '/hyperf/coroutine/src/Exception/TimeoutException.php',
     'Hyperf\\Coroutine\\Exception\\WaitTimeoutException' => $vendorDir . '/hyperf/coroutine/src/Exception/WaitTimeoutException.php',
     'Hyperf\\Coroutine\\Locker' => $vendorDir . '/hyperf/coroutine/src/Locker.php',
+    'Hyperf\\Coroutine\\Mutex' => $vendorDir . '/hyperf/coroutine/src/Mutex.php',
     'Hyperf\\Coroutine\\Parallel' => $vendorDir . '/hyperf/coroutine/src/Parallel.php',
+    'Hyperf\\Coroutine\\WaitConcurrent' => $vendorDir . '/hyperf/coroutine/src/WaitConcurrent.php',
     'Hyperf\\Coroutine\\WaitGroup' => $vendorDir . '/hyperf/coroutine/src/WaitGroup.php',
     'Hyperf\\Coroutine\\Waiter' => $vendorDir . '/hyperf/coroutine/src/Waiter.php',
     'Hyperf\\Database\\Commands\\Annotations\\RewriteReturnType' => $vendorDir . '/hyperf/database/src/Commands/Annotations/RewriteReturnType.php',
@@ -754,10 +766,15 @@ return array(
     'Hyperf\\Database\\Events\\TransactionBeginning' => $vendorDir . '/hyperf/database/src/Events/TransactionBeginning.php',
     'Hyperf\\Database\\Events\\TransactionCommitted' => $vendorDir . '/hyperf/database/src/Events/TransactionCommitted.php',
     'Hyperf\\Database\\Events\\TransactionRolledBack' => $vendorDir . '/hyperf/database/src/Events/TransactionRolledBack.php',
+    'Hyperf\\Database\\Exception\\ClassMorphViolationException' => $vendorDir . '/hyperf/database/src/Exception/ClassMorphViolationException.php',
     'Hyperf\\Database\\Exception\\InvalidArgumentException' => $vendorDir . '/hyperf/database/src/Exception/InvalidArgumentException.php',
     'Hyperf\\Database\\Exception\\InvalidBindingException' => $vendorDir . '/hyperf/database/src/Exception/InvalidBindingException.php',
     'Hyperf\\Database\\Exception\\InvalidCastException' => $vendorDir . '/hyperf/database/src/Exception/InvalidCastException.php',
+    'Hyperf\\Database\\Exception\\MultipleColumnsSelectedException' => $vendorDir . '/hyperf/database/src/Exception/MultipleColumnsSelectedException.php',
+    'Hyperf\\Database\\Exception\\MultipleRecordsFoundException' => $vendorDir . '/hyperf/database/src/Exception/MultipleRecordsFoundException.php',
     'Hyperf\\Database\\Exception\\QueryException' => $vendorDir . '/hyperf/database/src/Exception/QueryException.php',
+    'Hyperf\\Database\\Exception\\RecordsNotFoundException' => $vendorDir . '/hyperf/database/src/Exception/RecordsNotFoundException.php',
+    'Hyperf\\Database\\Exception\\UniqueConstraintViolationException' => $vendorDir . '/hyperf/database/src/Exception/UniqueConstraintViolationException.php',
     'Hyperf\\Database\\Grammar' => $vendorDir . '/hyperf/database/src/Grammar.php',
     'Hyperf\\Database\\Migrations\\DatabaseMigrationRepository' => $vendorDir . '/hyperf/database/src/Migrations/DatabaseMigrationRepository.php',
     'Hyperf\\Database\\Migrations\\Migration' => $vendorDir . '/hyperf/database/src/Migrations/Migration.php',
@@ -997,10 +1014,12 @@ return array(
     'Hyperf\\Dispatcher\\Exceptions\\InvalidArgumentException' => $vendorDir . '/hyperf/dispatcher/src/Exceptions/InvalidArgumentException.php',
     'Hyperf\\Dispatcher\\HttpDispatcher' => $vendorDir . '/hyperf/dispatcher/src/HttpDispatcher.php',
     'Hyperf\\Dispatcher\\HttpRequestHandler' => $vendorDir . '/hyperf/dispatcher/src/HttpRequestHandler.php',
+    'Hyperf\\Engine\\Barrier' => $vendorDir . '/hyperf/engine/src/Barrier.php',
     'Hyperf\\Engine\\Channel' => $vendorDir . '/hyperf/engine/src/Channel.php',
     'Hyperf\\Engine\\ConfigProvider' => $vendorDir . '/hyperf/engine/src/ConfigProvider.php',
     'Hyperf\\Engine\\Constant' => $vendorDir . '/hyperf/engine/src/Constant.php',
     'Hyperf\\Engine\\Constant\\SocketType' => $vendorDir . '/hyperf/engine/src/Constant/SocketType.php',
+    'Hyperf\\Engine\\Contract\\BarrierInterface' => $vendorDir . '/hyperf/engine-contract/src/BarrierInterface.php',
     'Hyperf\\Engine\\Contract\\ChannelInterface' => $vendorDir . '/hyperf/engine-contract/src/ChannelInterface.php',
     'Hyperf\\Engine\\Contract\\CoroutineInterface' => $vendorDir . '/hyperf/engine-contract/src/CoroutineInterface.php',
     'Hyperf\\Engine\\Contract\\DefaultOptionInterface' => $vendorDir . '/hyperf/engine-contract/src/DefaultOptionInterface.php',
@@ -1115,6 +1134,7 @@ return array(
     'Hyperf\\Framework\\Event\\OnWorkerStop' => $vendorDir . '/hyperf/framework/src/Event/OnWorkerStop.php',
     'Hyperf\\Framework\\Event\\OtherWorkerStart' => $vendorDir . '/hyperf/framework/src/Event/OtherWorkerStart.php',
     'Hyperf\\Framework\\Exception\\NotImplementedException' => $vendorDir . '/hyperf/framework/src/Exception/NotImplementedException.php',
+    'Hyperf\\Framework\\Logger\\ConsoleLogger' => $vendorDir . '/hyperf/framework/src/Logger/ConsoleLogger.php',
     'Hyperf\\Framework\\Logger\\StdoutLogger' => $vendorDir . '/hyperf/framework/src/Logger/StdoutLogger.php',
     'Hyperf\\Framework\\SymfonyEventDispatcher' => $vendorDir . '/hyperf/framework/src/SymfonyEventDispatcher.php',
     'Hyperf\\Guzzle\\ClientFactory' => $vendorDir . '/hyperf/guzzle/src/ClientFactory.php',
@@ -1342,6 +1362,7 @@ return array(
     'Hyperf\\Process\\ProcessCollector' => $vendorDir . '/hyperf/process/src/ProcessCollector.php',
     'Hyperf\\Process\\ProcessManager' => $vendorDir . '/hyperf/process/src/ProcessManager.php',
     'Hyperf\\Redis\\ConfigProvider' => $vendorDir . '/hyperf/redis/src/ConfigProvider.php',
+    'Hyperf\\Redis\\Event\\CommandExecuted' => $vendorDir . '/hyperf/redis/src/Event/CommandExecuted.php',
     'Hyperf\\Redis\\Exception\\InvalidRedisConnectionException' => $vendorDir . '/hyperf/redis/src/Exception/InvalidRedisConnectionException.php',
     'Hyperf\\Redis\\Exception\\InvalidRedisOptionException' => $vendorDir . '/hyperf/redis/src/Exception/InvalidRedisOptionException.php',
     'Hyperf\\Redis\\Exception\\InvalidRedisProxyException' => $vendorDir . '/hyperf/redis/src/Exception/InvalidRedisProxyException.php',
@@ -1459,6 +1480,7 @@ return array(
     'Hyperf\\Support\\Backoff\\ArrayBackoff' => $vendorDir . '/hyperf/support/src/Backoff/ArrayBackoff.php',
     'Hyperf\\Support\\ClearStatCache' => $vendorDir . '/hyperf/support/src/ClearStatCache.php',
     'Hyperf\\Support\\Composer' => $vendorDir . '/hyperf/support/src/Composer.php',
+    'Hyperf\\Support\\DotenvManager' => $vendorDir . '/hyperf/support/src/DotenvManager.php',
     'Hyperf\\Support\\Exception\\ExceptionThrower' => $vendorDir . '/hyperf/support/src/Exception/ExceptionThrower.php',
     'Hyperf\\Support\\Exception\\IPReadFailedException' => $vendorDir . '/hyperf/support/src/Exception/IPReadFailedException.php',
     'Hyperf\\Support\\Exception\\InvalidArgumentException' => $vendorDir . '/hyperf/support/src/Exception/InvalidArgumentException.php',
@@ -1516,6 +1538,8 @@ return array(
     'Hyperf\\Watcher\\Driver\\FindNewerDriver' => $vendorDir . '/hyperf/watcher/src/Driver/FindNewerDriver.php',
     'Hyperf\\Watcher\\Driver\\FswatchDriver' => $vendorDir . '/hyperf/watcher/src/Driver/FswatchDriver.php',
     'Hyperf\\Watcher\\Driver\\ScanFileDriver' => $vendorDir . '/hyperf/watcher/src/Driver/ScanFileDriver.php',
+    'Hyperf\\Watcher\\Event\\BeforeServerRestart' => $vendorDir . '/hyperf/watcher/src/Event/BeforeServerRestart.php',
+    'Hyperf\\Watcher\\Listener\\ReloadDotenvListener' => $vendorDir . '/hyperf/watcher/src/Listener/ReloadDotenvListener.php',
     'Hyperf\\Watcher\\Option' => $vendorDir . '/hyperf/watcher/src/Option.php',
     'Hyperf\\Watcher\\Process' => $vendorDir . '/hyperf/watcher/src/Process.php',
     'Hyperf\\Watcher\\Watcher' => $vendorDir . '/hyperf/watcher/src/Watcher.php',
@@ -2214,6 +2238,7 @@ return array(
     'Monolog\\Handler\\WebRequestRecognizerTrait' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/WebRequestRecognizerTrait.php',
     'Monolog\\Handler\\WhatFailureGroupHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php',
     'Monolog\\Handler\\ZendMonitorHandler' => $vendorDir . '/monolog/monolog/src/Monolog/Handler/ZendMonitorHandler.php',
+    'Monolog\\JsonSerializableDateTimeImmutable' => $vendorDir . '/monolog/monolog/src/Monolog/JsonSerializableDateTimeImmutable.php',
     'Monolog\\Level' => $vendorDir . '/monolog/monolog/src/Monolog/Level.php',
     'Monolog\\LogRecord' => $vendorDir . '/monolog/monolog/src/Monolog/LogRecord.php',
     'Monolog\\Logger' => $vendorDir . '/monolog/monolog/src/Monolog/Logger.php',
@@ -2235,6 +2260,7 @@ return array(
     'Monolog\\Registry' => $vendorDir . '/monolog/monolog/src/Monolog/Registry.php',
     'Monolog\\ResettableInterface' => $vendorDir . '/monolog/monolog/src/Monolog/ResettableInterface.php',
     'Monolog\\SignalHandler' => $vendorDir . '/monolog/monolog/src/Monolog/SignalHandler.php',
+    'Monolog\\Test\\MonologTestCase' => $vendorDir . '/monolog/monolog/src/Monolog/Test/MonologTestCase.php',
     'Monolog\\Test\\TestCase' => $vendorDir . '/monolog/monolog/src/Monolog/Test/TestCase.php',
     'Monolog\\Utils' => $vendorDir . '/monolog/monolog/src/Monolog/Utils.php',
     'Normalizer' => $vendorDir . '/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php',
@@ -2354,10 +2380,14 @@ return array(
     'PHPUnit\\Event\\TestSuite\\TestSuiteWithName' => $vendorDir . '/phpunit/phpunit/src/Event/Value/TestSuite/TestSuiteWithName.php',
     'PHPUnit\\Event\\Test\\AfterLastTestMethodCalled' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterLastTestMethodCalled.php',
     'PHPUnit\\Event\\Test\\AfterLastTestMethodCalledSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterLastTestMethodCalledSubscriber.php',
+    'PHPUnit\\Event\\Test\\AfterLastTestMethodErrored' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterLastTestMethodErrored.php',
+    'PHPUnit\\Event\\Test\\AfterLastTestMethodErroredSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterLastTestMethodErroredSubscriber.php',
     'PHPUnit\\Event\\Test\\AfterLastTestMethodFinished' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterLastTestMethodFinished.php',
     'PHPUnit\\Event\\Test\\AfterLastTestMethodFinishedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterLastTestMethodFinishedSubscriber.php',
     'PHPUnit\\Event\\Test\\AfterTestMethodCalled' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodCalled.php',
     'PHPUnit\\Event\\Test\\AfterTestMethodCalledSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodCalledSubscriber.php',
+    'PHPUnit\\Event\\Test\\AfterTestMethodErrored' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodErrored.php',
+    'PHPUnit\\Event\\Test\\AfterTestMethodErroredSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodErroredSubscriber.php',
     'PHPUnit\\Event\\Test\\AfterTestMethodFinished' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodFinished.php',
     'PHPUnit\\Event\\Test\\AfterTestMethodFinishedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodFinishedSubscriber.php',
     'PHPUnit\\Event\\Test\\AssertionFailed' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/Assertion/AssertionFailed.php',
@@ -2372,6 +2402,8 @@ return array(
     'PHPUnit\\Event\\Test\\BeforeFirstTestMethodFinishedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeFirstTestMethodFinishedSubscriber.php',
     'PHPUnit\\Event\\Test\\BeforeTestMethodCalled' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeTestMethodCalled.php',
     'PHPUnit\\Event\\Test\\BeforeTestMethodCalledSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeTestMethodCalledSubscriber.php',
+    'PHPUnit\\Event\\Test\\BeforeTestMethodErrored' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeTestMethodErrored.php',
+    'PHPUnit\\Event\\Test\\BeforeTestMethodErroredSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeTestMethodErroredSubscriber.php',
     'PHPUnit\\Event\\Test\\BeforeTestMethodFinished' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeTestMethodFinished.php',
     'PHPUnit\\Event\\Test\\BeforeTestMethodFinishedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeTestMethodFinishedSubscriber.php',
     'PHPUnit\\Event\\Test\\ComparatorRegistered' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/ComparatorRegistered.php',
@@ -2425,10 +2457,14 @@ return array(
     'PHPUnit\\Event\\Test\\PhpunitWarningTriggeredSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/Issue/PhpunitWarningTriggeredSubscriber.php',
     'PHPUnit\\Event\\Test\\PostConditionCalled' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PostConditionCalled.php',
     'PHPUnit\\Event\\Test\\PostConditionCalledSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PostConditionCalledSubscriber.php',
+    'PHPUnit\\Event\\Test\\PostConditionErrored' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PostConditionErrored.php',
+    'PHPUnit\\Event\\Test\\PostConditionErroredSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PostConditionErroredSubscriber.php',
     'PHPUnit\\Event\\Test\\PostConditionFinished' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PostConditionFinished.php',
     'PHPUnit\\Event\\Test\\PostConditionFinishedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PostConditionFinishedSubscriber.php',
     'PHPUnit\\Event\\Test\\PreConditionCalled' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PreConditionCalled.php',
     'PHPUnit\\Event\\Test\\PreConditionCalledSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PreConditionCalledSubscriber.php',
+    'PHPUnit\\Event\\Test\\PreConditionErrored' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PreConditionErrored.php',
+    'PHPUnit\\Event\\Test\\PreConditionErroredSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PreConditionErroredSubscriber.php',
     'PHPUnit\\Event\\Test\\PreConditionFinished' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PreConditionFinished.php',
     'PHPUnit\\Event\\Test\\PreConditionFinishedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PreConditionFinishedSubscriber.php',
     'PHPUnit\\Event\\Test\\PreparationFailed' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/Lifecycle/PreparationFailed.php',
@@ -2595,6 +2631,7 @@ return array(
     'PHPUnit\\Framework\\MockObject\\ConfigurableMethod' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/ConfigurableMethod.php',
     'PHPUnit\\Framework\\MockObject\\DoubledCloneMethod' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/DoubledCloneMethod.php',
     'PHPUnit\\Framework\\MockObject\\Exception' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/Exception.php',
+    'PHPUnit\\Framework\\MockObject\\Generator\\CannotUseAddMethodsException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/CannotUseAddMethodsException.php',
     'PHPUnit\\Framework\\MockObject\\Generator\\ClassAlreadyExistsException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ClassAlreadyExistsException.php',
     'PHPUnit\\Framework\\MockObject\\Generator\\ClassIsEnumerationException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ClassIsEnumerationException.php',
     'PHPUnit\\Framework\\MockObject\\Generator\\ClassIsFinalException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ClassIsFinalException.php',
@@ -2608,6 +2645,7 @@ return array(
     'PHPUnit\\Framework\\MockObject\\Generator\\MockMethodSet' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/MockMethodSet.php',
     'PHPUnit\\Framework\\MockObject\\Generator\\MockTrait' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/MockTrait.php',
     'PHPUnit\\Framework\\MockObject\\Generator\\MockType' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/MockType.php',
+    'PHPUnit\\Framework\\MockObject\\Generator\\NameAlreadyInUseException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/NameAlreadyInUseException.php',
     'PHPUnit\\Framework\\MockObject\\Generator\\OriginalConstructorInvocationRequiredException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/OriginalConstructorInvocationRequiredException.php',
     'PHPUnit\\Framework\\MockObject\\Generator\\ReflectionException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ReflectionException.php',
     'PHPUnit\\Framework\\MockObject\\Generator\\RuntimeException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/RuntimeException.php',
@@ -2633,6 +2671,7 @@ return array(
     'PHPUnit\\Framework\\MockObject\\MockObjectApi' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/MockObjectApi.php',
     'PHPUnit\\Framework\\MockObject\\MockObjectInternal' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Interface/MockObjectInternal.php',
     'PHPUnit\\Framework\\MockObject\\NeverReturningMethodException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/NeverReturningMethodException.php',
+    'PHPUnit\\Framework\\MockObject\\NoMoreReturnValuesConfiguredException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/NoMoreReturnValuesConfiguredException.php',
     'PHPUnit\\Framework\\MockObject\\ProxiedCloneMethod' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/ProxiedCloneMethod.php',
     'PHPUnit\\Framework\\MockObject\\ReflectionException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/ReflectionException.php',
     'PHPUnit\\Framework\\MockObject\\ReturnValueGenerator' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/ReturnValueGenerator.php',
@@ -2705,6 +2744,7 @@ return array(
     'PHPUnit\\Logging\\JUnit\\TestPreparationFailedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestPreparationFailedSubscriber.php',
     'PHPUnit\\Logging\\JUnit\\TestPreparationStartedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestPreparationStartedSubscriber.php',
     'PHPUnit\\Logging\\JUnit\\TestPreparedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestPreparedSubscriber.php',
+    'PHPUnit\\Logging\\JUnit\\TestPrintedUnexpectedOutputSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestPrintedUnexpectedOutputSubscriber.php',
     'PHPUnit\\Logging\\JUnit\\TestRunnerExecutionFinishedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestRunnerExecutionFinishedSubscriber.php',
     'PHPUnit\\Logging\\JUnit\\TestSkippedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestSkippedSubscriber.php',
     'PHPUnit\\Logging\\JUnit\\TestSuiteFinishedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestSuiteFinishedSubscriber.php',
@@ -2719,7 +2759,9 @@ return array(
     'PHPUnit\\Logging\\TeamCity\\TestPreparedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestPreparedSubscriber.php',
     'PHPUnit\\Logging\\TeamCity\\TestRunnerExecutionFinishedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestRunnerExecutionFinishedSubscriber.php',
     'PHPUnit\\Logging\\TeamCity\\TestSkippedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestSkippedSubscriber.php',
+    'PHPUnit\\Logging\\TeamCity\\TestSuiteBeforeFirstTestMethodErroredSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestSuiteBeforeFirstTestMethodErroredSubscriber.php',
     'PHPUnit\\Logging\\TeamCity\\TestSuiteFinishedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestSuiteFinishedSubscriber.php',
+    'PHPUnit\\Logging\\TeamCity\\TestSuiteSkippedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestSuiteSkippedSubscriber.php',
     'PHPUnit\\Logging\\TeamCity\\TestSuiteStartedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestSuiteStartedSubscriber.php',
     'PHPUnit\\Logging\\TestDox\\HtmlRenderer' => $vendorDir . '/phpunit/phpunit/src/Logging/TestDox/HtmlRenderer.php',
     'PHPUnit\\Logging\\TestDox\\NamePrettifier' => $vendorDir . '/phpunit/phpunit/src/Logging/TestDox/NamePrettifier.php',
@@ -2778,6 +2820,7 @@ return array(
     'PHPUnit\\Metadata\\IgnoreDeprecations' => $vendorDir . '/phpunit/phpunit/src/Metadata/IgnoreDeprecations.php',
     'PHPUnit\\Metadata\\IgnoreFunctionForCodeCoverage' => $vendorDir . '/phpunit/phpunit/src/Metadata/IgnoreFunctionForCodeCoverage.php',
     'PHPUnit\\Metadata\\IgnoreMethodForCodeCoverage' => $vendorDir . '/phpunit/phpunit/src/Metadata/IgnoreMethodForCodeCoverage.php',
+    'PHPUnit\\Metadata\\InvalidAttributeException' => $vendorDir . '/phpunit/phpunit/src/Metadata/Exception/InvalidAttributeException.php',
     'PHPUnit\\Metadata\\InvalidVersionRequirementException' => $vendorDir . '/phpunit/phpunit/src/Metadata/Exception/InvalidVersionRequirementException.php',
     'PHPUnit\\Metadata\\Metadata' => $vendorDir . '/phpunit/phpunit/src/Metadata/Metadata.php',
     'PHPUnit\\Metadata\\MetadataCollection' => $vendorDir . '/phpunit/phpunit/src/Metadata/MetadataCollection.php',
@@ -2835,6 +2878,7 @@ return array(
     'PHPUnit\\Runner\\ClassIsAbstractException' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/ClassIsAbstractException.php',
     'PHPUnit\\Runner\\CodeCoverage' => $vendorDir . '/phpunit/phpunit/src/Runner/CodeCoverage.php',
     'PHPUnit\\Runner\\DirectoryCannotBeCreatedException' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/DirectoryCannotBeCreatedException.php',
+    'PHPUnit\\Runner\\DirectoryDoesNotExistException' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/DirectoryDoesNotExistException.php',
     'PHPUnit\\Runner\\ErrorException' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/ErrorException.php',
     'PHPUnit\\Runner\\ErrorHandler' => $vendorDir . '/phpunit/phpunit/src/Runner/ErrorHandler.php',
     'PHPUnit\\Runner\\Exception' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/Exception.php',
@@ -2880,6 +2924,7 @@ return array(
     'PHPUnit\\Runner\\TestSuiteSorter' => $vendorDir . '/phpunit/phpunit/src/Runner/TestSuiteSorter.php',
     'PHPUnit\\Runner\\UnsupportedPhptSectionException' => $vendorDir . '/phpunit/phpunit/src/Runner/Exception/UnsupportedPhptSectionException.php',
     'PHPUnit\\Runner\\Version' => $vendorDir . '/phpunit/phpunit/src/Runner/Version.php',
+    'PHPUnit\\TestRunner\\TestResult\\AfterTestClassMethodErroredSubscriber' => $vendorDir . '/phpunit/phpunit/src/Runner/TestResult/Subscriber/AfterTestClassMethodErroredSubscriber.php',
     'PHPUnit\\TestRunner\\TestResult\\BeforeTestClassMethodErroredSubscriber' => $vendorDir . '/phpunit/phpunit/src/Runner/TestResult/Subscriber/BeforeTestClassMethodErroredSubscriber.php',
     'PHPUnit\\TestRunner\\TestResult\\Collector' => $vendorDir . '/phpunit/phpunit/src/Runner/TestResult/Collector.php',
     'PHPUnit\\TestRunner\\TestResult\\ExecutionStartedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Runner/TestResult/Subscriber/ExecutionStartedSubscriber.php',
@@ -2911,6 +2956,7 @@ return array(
     'PHPUnit\\TestRunner\\TestResult\\TestTriggeredPhpunitWarningSubscriber' => $vendorDir . '/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredPhpunitWarningSubscriber.php',
     'PHPUnit\\TestRunner\\TestResult\\TestTriggeredWarningSubscriber' => $vendorDir . '/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredWarningSubscriber.php',
     'PHPUnit\\TextUI\\Application' => $vendorDir . '/phpunit/phpunit/src/TextUI/Application.php',
+    'PHPUnit\\TextUI\\CannotOpenSocketException' => $vendorDir . '/phpunit/phpunit/src/TextUI/Exception/CannotOpenSocketException.php',
     'PHPUnit\\TextUI\\CliArguments\\Builder' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Cli/Builder.php',
     'PHPUnit\\TextUI\\CliArguments\\Configuration' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Cli/Configuration.php',
     'PHPUnit\\TextUI\\CliArguments\\Exception' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Cli/Exception.php',
@@ -3106,6 +3152,8 @@ return array(
     'PHPUnit\\Util\\Filesystem' => $vendorDir . '/phpunit/phpunit/src/Util/Filesystem.php',
     'PHPUnit\\Util\\Filter' => $vendorDir . '/phpunit/phpunit/src/Util/Filter.php',
     'PHPUnit\\Util\\GlobalState' => $vendorDir . '/phpunit/phpunit/src/Util/GlobalState.php',
+    'PHPUnit\\Util\\Http\\Downloader' => $vendorDir . '/phpunit/phpunit/src/Util/Http/Downloader.php',
+    'PHPUnit\\Util\\Http\\PhpDownloader' => $vendorDir . '/phpunit/phpunit/src/Util/Http/PhpDownloader.php',
     'PHPUnit\\Util\\InvalidDirectoryException' => $vendorDir . '/phpunit/phpunit/src/Util/Exception/InvalidDirectoryException.php',
     'PHPUnit\\Util\\InvalidJsonException' => $vendorDir . '/phpunit/phpunit/src/Util/Exception/InvalidJsonException.php',
     'PHPUnit\\Util\\InvalidVersionOperatorException' => $vendorDir . '/phpunit/phpunit/src/Util/Exception/InvalidVersionOperatorException.php',
@@ -3390,6 +3438,7 @@ return array(
     'PhpCsFixer\\Fixer\\Comment\\SingleLineCommentSpacingFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/Comment/SingleLineCommentSpacingFixer.php',
     'PhpCsFixer\\Fixer\\Comment\\SingleLineCommentStyleFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/Comment/SingleLineCommentStyleFixer.php',
     'PhpCsFixer\\Fixer\\ConfigurableFixerInterface' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/ConfigurableFixerInterface.php',
+    'PhpCsFixer\\Fixer\\ConfigurableFixerTrait' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/ConfigurableFixerTrait.php',
     'PhpCsFixer\\Fixer\\ConstantNotation\\NativeConstantInvocationFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/ConstantNotation/NativeConstantInvocationFixer.php',
     'PhpCsFixer\\Fixer\\ControlStructure\\ControlStructureBracesFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/ControlStructureBracesFixer.php',
     'PhpCsFixer\\Fixer\\ControlStructure\\ControlStructureContinuationPositionFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/ControlStructureContinuationPositionFixer.php',
@@ -3452,6 +3501,7 @@ return array(
     'PhpCsFixer\\Fixer\\Import\\SingleImportPerStatementFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/Import/SingleImportPerStatementFixer.php',
     'PhpCsFixer\\Fixer\\Import\\SingleLineAfterImportsFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/Import/SingleLineAfterImportsFixer.php',
     'PhpCsFixer\\Fixer\\Indentation' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/Indentation.php',
+    'PhpCsFixer\\Fixer\\InternalFixerInterface' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/InternalFixerInterface.php',
     'PhpCsFixer\\Fixer\\LanguageConstruct\\ClassKeywordFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/ClassKeywordFixer.php',
     'PhpCsFixer\\Fixer\\LanguageConstruct\\ClassKeywordRemoveFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/ClassKeywordRemoveFixer.php',
     'PhpCsFixer\\Fixer\\LanguageConstruct\\CombineConsecutiveIssetsFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/CombineConsecutiveIssetsFixer.php',
@@ -3502,6 +3552,7 @@ return array(
     'PhpCsFixer\\Fixer\\PhpTag\\FullOpeningTagFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/PhpTag/FullOpeningTagFixer.php',
     'PhpCsFixer\\Fixer\\PhpTag\\LinebreakAfterOpeningTagFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/PhpTag/LinebreakAfterOpeningTagFixer.php',
     'PhpCsFixer\\Fixer\\PhpTag\\NoClosingTagFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/PhpTag/NoClosingTagFixer.php',
+    'PhpCsFixer\\Fixer\\PhpUnit\\PhpUnitAssertNewNamesFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitAssertNewNamesFixer.php',
     'PhpCsFixer\\Fixer\\PhpUnit\\PhpUnitAttributesFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitAttributesFixer.php',
     'PhpCsFixer\\Fixer\\PhpUnit\\PhpUnitConstructFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitConstructFixer.php',
     'PhpCsFixer\\Fixer\\PhpUnit\\PhpUnitDataProviderNameFixer' => $vendorDir . '/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitDataProviderNameFixer.php',
@@ -3666,6 +3717,7 @@ return array(
     'PhpCsFixer\\RuleSet\\Sets\\PHPUnit60MigrationRiskySet' => $vendorDir . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit60MigrationRiskySet.php',
     'PhpCsFixer\\RuleSet\\Sets\\PHPUnit75MigrationRiskySet' => $vendorDir . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit75MigrationRiskySet.php',
     'PhpCsFixer\\RuleSet\\Sets\\PHPUnit84MigrationRiskySet' => $vendorDir . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit84MigrationRiskySet.php',
+    'PhpCsFixer\\RuleSet\\Sets\\PHPUnit91MigrationRiskySet' => $vendorDir . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit91MigrationRiskySet.php',
     'PhpCsFixer\\RuleSet\\Sets\\PSR12RiskySet' => $vendorDir . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PSR12RiskySet.php',
     'PhpCsFixer\\RuleSet\\Sets\\PSR12Set' => $vendorDir . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PSR12Set.php',
     'PhpCsFixer\\RuleSet\\Sets\\PSR1Set' => $vendorDir . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PSR1Set.php',

+ 52 - 0
vendor/composer/autoload_static.php

@@ -850,6 +850,12 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'Composer\\Pcre\\MatchResult' => __DIR__ . '/..' . '/composer/pcre/src/MatchResult.php',
         'Composer\\Pcre\\MatchStrictGroupsResult' => __DIR__ . '/..' . '/composer/pcre/src/MatchStrictGroupsResult.php',
         'Composer\\Pcre\\MatchWithOffsetsResult' => __DIR__ . '/..' . '/composer/pcre/src/MatchWithOffsetsResult.php',
+        'Composer\\Pcre\\PHPStan\\InvalidRegexPatternRule' => __DIR__ . '/..' . '/composer/pcre/src/PHPStan/InvalidRegexPatternRule.php',
+        'Composer\\Pcre\\PHPStan\\PregMatchFlags' => __DIR__ . '/..' . '/composer/pcre/src/PHPStan/PregMatchFlags.php',
+        'Composer\\Pcre\\PHPStan\\PregMatchParameterOutTypeExtension' => __DIR__ . '/..' . '/composer/pcre/src/PHPStan/PregMatchParameterOutTypeExtension.php',
+        'Composer\\Pcre\\PHPStan\\PregMatchTypeSpecifyingExtension' => __DIR__ . '/..' . '/composer/pcre/src/PHPStan/PregMatchTypeSpecifyingExtension.php',
+        'Composer\\Pcre\\PHPStan\\PregReplaceCallbackClosureTypeExtension' => __DIR__ . '/..' . '/composer/pcre/src/PHPStan/PregReplaceCallbackClosureTypeExtension.php',
+        'Composer\\Pcre\\PHPStan\\UnsafeStrictGroupsCallRule' => __DIR__ . '/..' . '/composer/pcre/src/PHPStan/UnsafeStrictGroupsCallRule.php',
         'Composer\\Pcre\\PcreException' => __DIR__ . '/..' . '/composer/pcre/src/PcreException.php',
         'Composer\\Pcre\\Preg' => __DIR__ . '/..' . '/composer/pcre/src/Preg.php',
         'Composer\\Pcre\\Regex' => __DIR__ . '/..' . '/composer/pcre/src/Regex.php',
@@ -898,6 +904,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'DeepCopy\\Matcher\\PropertyTypeMatcher' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyTypeMatcher.php',
         'DeepCopy\\Reflection\\ReflectionHelper' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Reflection/ReflectionHelper.php',
         'DeepCopy\\TypeFilter\\Date\\DateIntervalFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Date/DateIntervalFilter.php',
+        'DeepCopy\\TypeFilter\\Date\\DatePeriodFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Date/DatePeriodFilter.php',
         'DeepCopy\\TypeFilter\\ReplaceFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/ReplaceFilter.php',
         'DeepCopy\\TypeFilter\\ShallowCopyFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/ShallowCopyFilter.php',
         'DeepCopy\\TypeFilter\\Spl\\ArrayObjectFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/ArrayObjectFilter.php',
@@ -1285,6 +1292,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'Hyperf\\Command\\Concerns\\HasParameters' => __DIR__ . '/..' . '/hyperf/command/src/Concerns/HasParameters.php',
         'Hyperf\\Command\\Concerns\\InteractsWithIO' => __DIR__ . '/..' . '/hyperf/command/src/Concerns/InteractsWithIO.php',
         'Hyperf\\Command\\Concerns\\NullDisableEventDispatcher' => __DIR__ . '/..' . '/hyperf/command/src/Concerns/NullDisableEventDispatcher.php',
+        'Hyperf\\Command\\Concerns\\Prohibitable' => __DIR__ . '/..' . '/hyperf/command/src/Concerns/Prohibitable.php',
         'Hyperf\\Command\\ConfigProvider' => __DIR__ . '/..' . '/hyperf/command/src/ConfigProvider.php',
         'Hyperf\\Command\\Console' => __DIR__ . '/..' . '/hyperf/command/src/Console.php',
         'Hyperf\\Command\\Event\\AfterExecute' => __DIR__ . '/..' . '/hyperf/command/src/Event/AfterExecute.php',
@@ -1361,6 +1369,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'Hyperf\\Context\\Traits\\CoroutineProxy' => __DIR__ . '/..' . '/hyperf/context/src/Traits/CoroutineProxy.php',
         'Hyperf\\Contract\\ApplicationInterface' => __DIR__ . '/..' . '/hyperf/contract/src/ApplicationInterface.php',
         'Hyperf\\Contract\\Arrayable' => __DIR__ . '/..' . '/hyperf/contract/src/Arrayable.php',
+        'Hyperf\\Contract\\CanBeEscapedWhenCastToString' => __DIR__ . '/..' . '/hyperf/contract/src/CanBeEscapedWhenCastToString.php',
         'Hyperf\\Contract\\Castable' => __DIR__ . '/..' . '/hyperf/contract/src/Castable.php',
         'Hyperf\\Contract\\CastsAttributes' => __DIR__ . '/..' . '/hyperf/contract/src/CastsAttributes.php',
         'Hyperf\\Contract\\CastsInboundAttributes' => __DIR__ . '/..' . '/hyperf/contract/src/CastsInboundAttributes.php',
@@ -1405,6 +1414,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'Hyperf\\Coordinator\\CoordinatorManager' => __DIR__ . '/..' . '/hyperf/coordinator/src/CoordinatorManager.php',
         'Hyperf\\Coordinator\\Listener\\ResumeExitCoordinatorListener' => __DIR__ . '/..' . '/hyperf/coordinator/src/Listener/ResumeExitCoordinatorListener.php',
         'Hyperf\\Coordinator\\Timer' => __DIR__ . '/..' . '/hyperf/coordinator/src/Timer.php',
+        'Hyperf\\Coroutine\\Barrier' => __DIR__ . '/..' . '/hyperf/coroutine/src/Barrier.php',
         'Hyperf\\Coroutine\\Channel\\Caller' => __DIR__ . '/..' . '/hyperf/coroutine/src/Channel/Caller.php',
         'Hyperf\\Coroutine\\Channel\\Manager' => __DIR__ . '/..' . '/hyperf/coroutine/src/Channel/Manager.php',
         'Hyperf\\Coroutine\\Channel\\Pool' => __DIR__ . '/..' . '/hyperf/coroutine/src/Channel/Pool.php',
@@ -1417,7 +1427,9 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'Hyperf\\Coroutine\\Exception\\TimeoutException' => __DIR__ . '/..' . '/hyperf/coroutine/src/Exception/TimeoutException.php',
         'Hyperf\\Coroutine\\Exception\\WaitTimeoutException' => __DIR__ . '/..' . '/hyperf/coroutine/src/Exception/WaitTimeoutException.php',
         'Hyperf\\Coroutine\\Locker' => __DIR__ . '/..' . '/hyperf/coroutine/src/Locker.php',
+        'Hyperf\\Coroutine\\Mutex' => __DIR__ . '/..' . '/hyperf/coroutine/src/Mutex.php',
         'Hyperf\\Coroutine\\Parallel' => __DIR__ . '/..' . '/hyperf/coroutine/src/Parallel.php',
+        'Hyperf\\Coroutine\\WaitConcurrent' => __DIR__ . '/..' . '/hyperf/coroutine/src/WaitConcurrent.php',
         'Hyperf\\Coroutine\\WaitGroup' => __DIR__ . '/..' . '/hyperf/coroutine/src/WaitGroup.php',
         'Hyperf\\Coroutine\\Waiter' => __DIR__ . '/..' . '/hyperf/coroutine/src/Waiter.php',
         'Hyperf\\Database\\Commands\\Annotations\\RewriteReturnType' => __DIR__ . '/..' . '/hyperf/database/src/Commands/Annotations/RewriteReturnType.php',
@@ -1469,10 +1481,15 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'Hyperf\\Database\\Events\\TransactionBeginning' => __DIR__ . '/..' . '/hyperf/database/src/Events/TransactionBeginning.php',
         'Hyperf\\Database\\Events\\TransactionCommitted' => __DIR__ . '/..' . '/hyperf/database/src/Events/TransactionCommitted.php',
         'Hyperf\\Database\\Events\\TransactionRolledBack' => __DIR__ . '/..' . '/hyperf/database/src/Events/TransactionRolledBack.php',
+        'Hyperf\\Database\\Exception\\ClassMorphViolationException' => __DIR__ . '/..' . '/hyperf/database/src/Exception/ClassMorphViolationException.php',
         'Hyperf\\Database\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/hyperf/database/src/Exception/InvalidArgumentException.php',
         'Hyperf\\Database\\Exception\\InvalidBindingException' => __DIR__ . '/..' . '/hyperf/database/src/Exception/InvalidBindingException.php',
         'Hyperf\\Database\\Exception\\InvalidCastException' => __DIR__ . '/..' . '/hyperf/database/src/Exception/InvalidCastException.php',
+        'Hyperf\\Database\\Exception\\MultipleColumnsSelectedException' => __DIR__ . '/..' . '/hyperf/database/src/Exception/MultipleColumnsSelectedException.php',
+        'Hyperf\\Database\\Exception\\MultipleRecordsFoundException' => __DIR__ . '/..' . '/hyperf/database/src/Exception/MultipleRecordsFoundException.php',
         'Hyperf\\Database\\Exception\\QueryException' => __DIR__ . '/..' . '/hyperf/database/src/Exception/QueryException.php',
+        'Hyperf\\Database\\Exception\\RecordsNotFoundException' => __DIR__ . '/..' . '/hyperf/database/src/Exception/RecordsNotFoundException.php',
+        'Hyperf\\Database\\Exception\\UniqueConstraintViolationException' => __DIR__ . '/..' . '/hyperf/database/src/Exception/UniqueConstraintViolationException.php',
         'Hyperf\\Database\\Grammar' => __DIR__ . '/..' . '/hyperf/database/src/Grammar.php',
         'Hyperf\\Database\\Migrations\\DatabaseMigrationRepository' => __DIR__ . '/..' . '/hyperf/database/src/Migrations/DatabaseMigrationRepository.php',
         'Hyperf\\Database\\Migrations\\Migration' => __DIR__ . '/..' . '/hyperf/database/src/Migrations/Migration.php',
@@ -1712,10 +1729,12 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'Hyperf\\Dispatcher\\Exceptions\\InvalidArgumentException' => __DIR__ . '/..' . '/hyperf/dispatcher/src/Exceptions/InvalidArgumentException.php',
         'Hyperf\\Dispatcher\\HttpDispatcher' => __DIR__ . '/..' . '/hyperf/dispatcher/src/HttpDispatcher.php',
         'Hyperf\\Dispatcher\\HttpRequestHandler' => __DIR__ . '/..' . '/hyperf/dispatcher/src/HttpRequestHandler.php',
+        'Hyperf\\Engine\\Barrier' => __DIR__ . '/..' . '/hyperf/engine/src/Barrier.php',
         'Hyperf\\Engine\\Channel' => __DIR__ . '/..' . '/hyperf/engine/src/Channel.php',
         'Hyperf\\Engine\\ConfigProvider' => __DIR__ . '/..' . '/hyperf/engine/src/ConfigProvider.php',
         'Hyperf\\Engine\\Constant' => __DIR__ . '/..' . '/hyperf/engine/src/Constant.php',
         'Hyperf\\Engine\\Constant\\SocketType' => __DIR__ . '/..' . '/hyperf/engine/src/Constant/SocketType.php',
+        'Hyperf\\Engine\\Contract\\BarrierInterface' => __DIR__ . '/..' . '/hyperf/engine-contract/src/BarrierInterface.php',
         'Hyperf\\Engine\\Contract\\ChannelInterface' => __DIR__ . '/..' . '/hyperf/engine-contract/src/ChannelInterface.php',
         'Hyperf\\Engine\\Contract\\CoroutineInterface' => __DIR__ . '/..' . '/hyperf/engine-contract/src/CoroutineInterface.php',
         'Hyperf\\Engine\\Contract\\DefaultOptionInterface' => __DIR__ . '/..' . '/hyperf/engine-contract/src/DefaultOptionInterface.php',
@@ -1830,6 +1849,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'Hyperf\\Framework\\Event\\OnWorkerStop' => __DIR__ . '/..' . '/hyperf/framework/src/Event/OnWorkerStop.php',
         'Hyperf\\Framework\\Event\\OtherWorkerStart' => __DIR__ . '/..' . '/hyperf/framework/src/Event/OtherWorkerStart.php',
         'Hyperf\\Framework\\Exception\\NotImplementedException' => __DIR__ . '/..' . '/hyperf/framework/src/Exception/NotImplementedException.php',
+        'Hyperf\\Framework\\Logger\\ConsoleLogger' => __DIR__ . '/..' . '/hyperf/framework/src/Logger/ConsoleLogger.php',
         'Hyperf\\Framework\\Logger\\StdoutLogger' => __DIR__ . '/..' . '/hyperf/framework/src/Logger/StdoutLogger.php',
         'Hyperf\\Framework\\SymfonyEventDispatcher' => __DIR__ . '/..' . '/hyperf/framework/src/SymfonyEventDispatcher.php',
         'Hyperf\\Guzzle\\ClientFactory' => __DIR__ . '/..' . '/hyperf/guzzle/src/ClientFactory.php',
@@ -2057,6 +2077,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'Hyperf\\Process\\ProcessCollector' => __DIR__ . '/..' . '/hyperf/process/src/ProcessCollector.php',
         'Hyperf\\Process\\ProcessManager' => __DIR__ . '/..' . '/hyperf/process/src/ProcessManager.php',
         'Hyperf\\Redis\\ConfigProvider' => __DIR__ . '/..' . '/hyperf/redis/src/ConfigProvider.php',
+        'Hyperf\\Redis\\Event\\CommandExecuted' => __DIR__ . '/..' . '/hyperf/redis/src/Event/CommandExecuted.php',
         'Hyperf\\Redis\\Exception\\InvalidRedisConnectionException' => __DIR__ . '/..' . '/hyperf/redis/src/Exception/InvalidRedisConnectionException.php',
         'Hyperf\\Redis\\Exception\\InvalidRedisOptionException' => __DIR__ . '/..' . '/hyperf/redis/src/Exception/InvalidRedisOptionException.php',
         'Hyperf\\Redis\\Exception\\InvalidRedisProxyException' => __DIR__ . '/..' . '/hyperf/redis/src/Exception/InvalidRedisProxyException.php',
@@ -2174,6 +2195,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'Hyperf\\Support\\Backoff\\ArrayBackoff' => __DIR__ . '/..' . '/hyperf/support/src/Backoff/ArrayBackoff.php',
         'Hyperf\\Support\\ClearStatCache' => __DIR__ . '/..' . '/hyperf/support/src/ClearStatCache.php',
         'Hyperf\\Support\\Composer' => __DIR__ . '/..' . '/hyperf/support/src/Composer.php',
+        'Hyperf\\Support\\DotenvManager' => __DIR__ . '/..' . '/hyperf/support/src/DotenvManager.php',
         'Hyperf\\Support\\Exception\\ExceptionThrower' => __DIR__ . '/..' . '/hyperf/support/src/Exception/ExceptionThrower.php',
         'Hyperf\\Support\\Exception\\IPReadFailedException' => __DIR__ . '/..' . '/hyperf/support/src/Exception/IPReadFailedException.php',
         'Hyperf\\Support\\Exception\\InvalidArgumentException' => __DIR__ . '/..' . '/hyperf/support/src/Exception/InvalidArgumentException.php',
@@ -2231,6 +2253,8 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'Hyperf\\Watcher\\Driver\\FindNewerDriver' => __DIR__ . '/..' . '/hyperf/watcher/src/Driver/FindNewerDriver.php',
         'Hyperf\\Watcher\\Driver\\FswatchDriver' => __DIR__ . '/..' . '/hyperf/watcher/src/Driver/FswatchDriver.php',
         'Hyperf\\Watcher\\Driver\\ScanFileDriver' => __DIR__ . '/..' . '/hyperf/watcher/src/Driver/ScanFileDriver.php',
+        'Hyperf\\Watcher\\Event\\BeforeServerRestart' => __DIR__ . '/..' . '/hyperf/watcher/src/Event/BeforeServerRestart.php',
+        'Hyperf\\Watcher\\Listener\\ReloadDotenvListener' => __DIR__ . '/..' . '/hyperf/watcher/src/Listener/ReloadDotenvListener.php',
         'Hyperf\\Watcher\\Option' => __DIR__ . '/..' . '/hyperf/watcher/src/Option.php',
         'Hyperf\\Watcher\\Process' => __DIR__ . '/..' . '/hyperf/watcher/src/Process.php',
         'Hyperf\\Watcher\\Watcher' => __DIR__ . '/..' . '/hyperf/watcher/src/Watcher.php',
@@ -2929,6 +2953,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'Monolog\\Handler\\WebRequestRecognizerTrait' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/WebRequestRecognizerTrait.php',
         'Monolog\\Handler\\WhatFailureGroupHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/WhatFailureGroupHandler.php',
         'Monolog\\Handler\\ZendMonitorHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Handler/ZendMonitorHandler.php',
+        'Monolog\\JsonSerializableDateTimeImmutable' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/JsonSerializableDateTimeImmutable.php',
         'Monolog\\Level' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Level.php',
         'Monolog\\LogRecord' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/LogRecord.php',
         'Monolog\\Logger' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Logger.php',
@@ -2950,6 +2975,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'Monolog\\Registry' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Registry.php',
         'Monolog\\ResettableInterface' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/ResettableInterface.php',
         'Monolog\\SignalHandler' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/SignalHandler.php',
+        'Monolog\\Test\\MonologTestCase' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Test/MonologTestCase.php',
         'Monolog\\Test\\TestCase' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Test/TestCase.php',
         'Monolog\\Utils' => __DIR__ . '/..' . '/monolog/monolog/src/Monolog/Utils.php',
         'Normalizer' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php',
@@ -3069,10 +3095,14 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\Event\\TestSuite\\TestSuiteWithName' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Value/TestSuite/TestSuiteWithName.php',
         'PHPUnit\\Event\\Test\\AfterLastTestMethodCalled' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterLastTestMethodCalled.php',
         'PHPUnit\\Event\\Test\\AfterLastTestMethodCalledSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterLastTestMethodCalledSubscriber.php',
+        'PHPUnit\\Event\\Test\\AfterLastTestMethodErrored' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterLastTestMethodErrored.php',
+        'PHPUnit\\Event\\Test\\AfterLastTestMethodErroredSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterLastTestMethodErroredSubscriber.php',
         'PHPUnit\\Event\\Test\\AfterLastTestMethodFinished' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterLastTestMethodFinished.php',
         'PHPUnit\\Event\\Test\\AfterLastTestMethodFinishedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterLastTestMethodFinishedSubscriber.php',
         'PHPUnit\\Event\\Test\\AfterTestMethodCalled' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodCalled.php',
         'PHPUnit\\Event\\Test\\AfterTestMethodCalledSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodCalledSubscriber.php',
+        'PHPUnit\\Event\\Test\\AfterTestMethodErrored' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodErrored.php',
+        'PHPUnit\\Event\\Test\\AfterTestMethodErroredSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodErroredSubscriber.php',
         'PHPUnit\\Event\\Test\\AfterTestMethodFinished' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodFinished.php',
         'PHPUnit\\Event\\Test\\AfterTestMethodFinishedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodFinishedSubscriber.php',
         'PHPUnit\\Event\\Test\\AssertionFailed' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/Assertion/AssertionFailed.php',
@@ -3087,6 +3117,8 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\Event\\Test\\BeforeFirstTestMethodFinishedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeFirstTestMethodFinishedSubscriber.php',
         'PHPUnit\\Event\\Test\\BeforeTestMethodCalled' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeTestMethodCalled.php',
         'PHPUnit\\Event\\Test\\BeforeTestMethodCalledSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeTestMethodCalledSubscriber.php',
+        'PHPUnit\\Event\\Test\\BeforeTestMethodErrored' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeTestMethodErrored.php',
+        'PHPUnit\\Event\\Test\\BeforeTestMethodErroredSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeTestMethodErroredSubscriber.php',
         'PHPUnit\\Event\\Test\\BeforeTestMethodFinished' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeTestMethodFinished.php',
         'PHPUnit\\Event\\Test\\BeforeTestMethodFinishedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeTestMethodFinishedSubscriber.php',
         'PHPUnit\\Event\\Test\\ComparatorRegistered' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/ComparatorRegistered.php',
@@ -3140,10 +3172,14 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\Event\\Test\\PhpunitWarningTriggeredSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/Issue/PhpunitWarningTriggeredSubscriber.php',
         'PHPUnit\\Event\\Test\\PostConditionCalled' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PostConditionCalled.php',
         'PHPUnit\\Event\\Test\\PostConditionCalledSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PostConditionCalledSubscriber.php',
+        'PHPUnit\\Event\\Test\\PostConditionErrored' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PostConditionErrored.php',
+        'PHPUnit\\Event\\Test\\PostConditionErroredSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PostConditionErroredSubscriber.php',
         'PHPUnit\\Event\\Test\\PostConditionFinished' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PostConditionFinished.php',
         'PHPUnit\\Event\\Test\\PostConditionFinishedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PostConditionFinishedSubscriber.php',
         'PHPUnit\\Event\\Test\\PreConditionCalled' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PreConditionCalled.php',
         'PHPUnit\\Event\\Test\\PreConditionCalledSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PreConditionCalledSubscriber.php',
+        'PHPUnit\\Event\\Test\\PreConditionErrored' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PreConditionErrored.php',
+        'PHPUnit\\Event\\Test\\PreConditionErroredSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PreConditionErroredSubscriber.php',
         'PHPUnit\\Event\\Test\\PreConditionFinished' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PreConditionFinished.php',
         'PHPUnit\\Event\\Test\\PreConditionFinishedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/HookMethod/PreConditionFinishedSubscriber.php',
         'PHPUnit\\Event\\Test\\PreparationFailed' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/Lifecycle/PreparationFailed.php',
@@ -3310,6 +3346,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\Framework\\MockObject\\ConfigurableMethod' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/ConfigurableMethod.php',
         'PHPUnit\\Framework\\MockObject\\DoubledCloneMethod' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/DoubledCloneMethod.php',
         'PHPUnit\\Framework\\MockObject\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/Exception.php',
+        'PHPUnit\\Framework\\MockObject\\Generator\\CannotUseAddMethodsException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/CannotUseAddMethodsException.php',
         'PHPUnit\\Framework\\MockObject\\Generator\\ClassAlreadyExistsException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ClassAlreadyExistsException.php',
         'PHPUnit\\Framework\\MockObject\\Generator\\ClassIsEnumerationException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ClassIsEnumerationException.php',
         'PHPUnit\\Framework\\MockObject\\Generator\\ClassIsFinalException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ClassIsFinalException.php',
@@ -3323,6 +3360,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\Framework\\MockObject\\Generator\\MockMethodSet' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/MockMethodSet.php',
         'PHPUnit\\Framework\\MockObject\\Generator\\MockTrait' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/MockTrait.php',
         'PHPUnit\\Framework\\MockObject\\Generator\\MockType' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/MockType.php',
+        'PHPUnit\\Framework\\MockObject\\Generator\\NameAlreadyInUseException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/NameAlreadyInUseException.php',
         'PHPUnit\\Framework\\MockObject\\Generator\\OriginalConstructorInvocationRequiredException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/OriginalConstructorInvocationRequiredException.php',
         'PHPUnit\\Framework\\MockObject\\Generator\\ReflectionException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ReflectionException.php',
         'PHPUnit\\Framework\\MockObject\\Generator\\RuntimeException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/RuntimeException.php',
@@ -3348,6 +3386,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\Framework\\MockObject\\MockObjectApi' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/MockObjectApi.php',
         'PHPUnit\\Framework\\MockObject\\MockObjectInternal' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Interface/MockObjectInternal.php',
         'PHPUnit\\Framework\\MockObject\\NeverReturningMethodException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/NeverReturningMethodException.php',
+        'PHPUnit\\Framework\\MockObject\\NoMoreReturnValuesConfiguredException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/NoMoreReturnValuesConfiguredException.php',
         'PHPUnit\\Framework\\MockObject\\ProxiedCloneMethod' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/ProxiedCloneMethod.php',
         'PHPUnit\\Framework\\MockObject\\ReflectionException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/ReflectionException.php',
         'PHPUnit\\Framework\\MockObject\\ReturnValueGenerator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/ReturnValueGenerator.php',
@@ -3420,6 +3459,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\Logging\\JUnit\\TestPreparationFailedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestPreparationFailedSubscriber.php',
         'PHPUnit\\Logging\\JUnit\\TestPreparationStartedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestPreparationStartedSubscriber.php',
         'PHPUnit\\Logging\\JUnit\\TestPreparedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestPreparedSubscriber.php',
+        'PHPUnit\\Logging\\JUnit\\TestPrintedUnexpectedOutputSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestPrintedUnexpectedOutputSubscriber.php',
         'PHPUnit\\Logging\\JUnit\\TestRunnerExecutionFinishedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestRunnerExecutionFinishedSubscriber.php',
         'PHPUnit\\Logging\\JUnit\\TestSkippedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestSkippedSubscriber.php',
         'PHPUnit\\Logging\\JUnit\\TestSuiteFinishedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestSuiteFinishedSubscriber.php',
@@ -3434,7 +3474,9 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\Logging\\TeamCity\\TestPreparedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestPreparedSubscriber.php',
         'PHPUnit\\Logging\\TeamCity\\TestRunnerExecutionFinishedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestRunnerExecutionFinishedSubscriber.php',
         'PHPUnit\\Logging\\TeamCity\\TestSkippedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestSkippedSubscriber.php',
+        'PHPUnit\\Logging\\TeamCity\\TestSuiteBeforeFirstTestMethodErroredSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestSuiteBeforeFirstTestMethodErroredSubscriber.php',
         'PHPUnit\\Logging\\TeamCity\\TestSuiteFinishedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestSuiteFinishedSubscriber.php',
+        'PHPUnit\\Logging\\TeamCity\\TestSuiteSkippedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestSuiteSkippedSubscriber.php',
         'PHPUnit\\Logging\\TeamCity\\TestSuiteStartedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestSuiteStartedSubscriber.php',
         'PHPUnit\\Logging\\TestDox\\HtmlRenderer' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/TestDox/HtmlRenderer.php',
         'PHPUnit\\Logging\\TestDox\\NamePrettifier' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/TestDox/NamePrettifier.php',
@@ -3493,6 +3535,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\Metadata\\IgnoreDeprecations' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/IgnoreDeprecations.php',
         'PHPUnit\\Metadata\\IgnoreFunctionForCodeCoverage' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/IgnoreFunctionForCodeCoverage.php',
         'PHPUnit\\Metadata\\IgnoreMethodForCodeCoverage' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/IgnoreMethodForCodeCoverage.php',
+        'PHPUnit\\Metadata\\InvalidAttributeException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/Exception/InvalidAttributeException.php',
         'PHPUnit\\Metadata\\InvalidVersionRequirementException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/Exception/InvalidVersionRequirementException.php',
         'PHPUnit\\Metadata\\Metadata' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/Metadata.php',
         'PHPUnit\\Metadata\\MetadataCollection' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/MetadataCollection.php',
@@ -3550,6 +3593,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\Runner\\ClassIsAbstractException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/ClassIsAbstractException.php',
         'PHPUnit\\Runner\\CodeCoverage' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/CodeCoverage.php',
         'PHPUnit\\Runner\\DirectoryCannotBeCreatedException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/DirectoryCannotBeCreatedException.php',
+        'PHPUnit\\Runner\\DirectoryDoesNotExistException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/DirectoryDoesNotExistException.php',
         'PHPUnit\\Runner\\ErrorException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/ErrorException.php',
         'PHPUnit\\Runner\\ErrorHandler' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/ErrorHandler.php',
         'PHPUnit\\Runner\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/Exception.php',
@@ -3595,6 +3639,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\Runner\\TestSuiteSorter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/TestSuiteSorter.php',
         'PHPUnit\\Runner\\UnsupportedPhptSectionException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Exception/UnsupportedPhptSectionException.php',
         'PHPUnit\\Runner\\Version' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/Version.php',
+        'PHPUnit\\TestRunner\\TestResult\\AfterTestClassMethodErroredSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/TestResult/Subscriber/AfterTestClassMethodErroredSubscriber.php',
         'PHPUnit\\TestRunner\\TestResult\\BeforeTestClassMethodErroredSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/TestResult/Subscriber/BeforeTestClassMethodErroredSubscriber.php',
         'PHPUnit\\TestRunner\\TestResult\\Collector' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/TestResult/Collector.php',
         'PHPUnit\\TestRunner\\TestResult\\ExecutionStartedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/TestResult/Subscriber/ExecutionStartedSubscriber.php',
@@ -3626,6 +3671,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\TestRunner\\TestResult\\TestTriggeredPhpunitWarningSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredPhpunitWarningSubscriber.php',
         'PHPUnit\\TestRunner\\TestResult\\TestTriggeredWarningSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Runner/TestResult/Subscriber/TestTriggeredWarningSubscriber.php',
         'PHPUnit\\TextUI\\Application' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Application.php',
+        'PHPUnit\\TextUI\\CannotOpenSocketException' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Exception/CannotOpenSocketException.php',
         'PHPUnit\\TextUI\\CliArguments\\Builder' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Cli/Builder.php',
         'PHPUnit\\TextUI\\CliArguments\\Configuration' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Cli/Configuration.php',
         'PHPUnit\\TextUI\\CliArguments\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Cli/Exception.php',
@@ -3821,6 +3867,8 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PHPUnit\\Util\\Filesystem' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Filesystem.php',
         'PHPUnit\\Util\\Filter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Filter.php',
         'PHPUnit\\Util\\GlobalState' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/GlobalState.php',
+        'PHPUnit\\Util\\Http\\Downloader' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Http/Downloader.php',
+        'PHPUnit\\Util\\Http\\PhpDownloader' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Http/PhpDownloader.php',
         'PHPUnit\\Util\\InvalidDirectoryException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Exception/InvalidDirectoryException.php',
         'PHPUnit\\Util\\InvalidJsonException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Exception/InvalidJsonException.php',
         'PHPUnit\\Util\\InvalidVersionOperatorException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Exception/InvalidVersionOperatorException.php',
@@ -4105,6 +4153,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PhpCsFixer\\Fixer\\Comment\\SingleLineCommentSpacingFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/Comment/SingleLineCommentSpacingFixer.php',
         'PhpCsFixer\\Fixer\\Comment\\SingleLineCommentStyleFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/Comment/SingleLineCommentStyleFixer.php',
         'PhpCsFixer\\Fixer\\ConfigurableFixerInterface' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/ConfigurableFixerInterface.php',
+        'PhpCsFixer\\Fixer\\ConfigurableFixerTrait' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/ConfigurableFixerTrait.php',
         'PhpCsFixer\\Fixer\\ConstantNotation\\NativeConstantInvocationFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/ConstantNotation/NativeConstantInvocationFixer.php',
         'PhpCsFixer\\Fixer\\ControlStructure\\ControlStructureBracesFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/ControlStructureBracesFixer.php',
         'PhpCsFixer\\Fixer\\ControlStructure\\ControlStructureContinuationPositionFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/ControlStructure/ControlStructureContinuationPositionFixer.php',
@@ -4167,6 +4216,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PhpCsFixer\\Fixer\\Import\\SingleImportPerStatementFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/Import/SingleImportPerStatementFixer.php',
         'PhpCsFixer\\Fixer\\Import\\SingleLineAfterImportsFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/Import/SingleLineAfterImportsFixer.php',
         'PhpCsFixer\\Fixer\\Indentation' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/Indentation.php',
+        'PhpCsFixer\\Fixer\\InternalFixerInterface' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/InternalFixerInterface.php',
         'PhpCsFixer\\Fixer\\LanguageConstruct\\ClassKeywordFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/ClassKeywordFixer.php',
         'PhpCsFixer\\Fixer\\LanguageConstruct\\ClassKeywordRemoveFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/ClassKeywordRemoveFixer.php',
         'PhpCsFixer\\Fixer\\LanguageConstruct\\CombineConsecutiveIssetsFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/LanguageConstruct/CombineConsecutiveIssetsFixer.php',
@@ -4217,6 +4267,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PhpCsFixer\\Fixer\\PhpTag\\FullOpeningTagFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/PhpTag/FullOpeningTagFixer.php',
         'PhpCsFixer\\Fixer\\PhpTag\\LinebreakAfterOpeningTagFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/PhpTag/LinebreakAfterOpeningTagFixer.php',
         'PhpCsFixer\\Fixer\\PhpTag\\NoClosingTagFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/PhpTag/NoClosingTagFixer.php',
+        'PhpCsFixer\\Fixer\\PhpUnit\\PhpUnitAssertNewNamesFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitAssertNewNamesFixer.php',
         'PhpCsFixer\\Fixer\\PhpUnit\\PhpUnitAttributesFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitAttributesFixer.php',
         'PhpCsFixer\\Fixer\\PhpUnit\\PhpUnitConstructFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitConstructFixer.php',
         'PhpCsFixer\\Fixer\\PhpUnit\\PhpUnitDataProviderNameFixer' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitDataProviderNameFixer.php',
@@ -4381,6 +4432,7 @@ class ComposerStaticInit88f2a4d4a4e81dc7d415bcdf39930654
         'PhpCsFixer\\RuleSet\\Sets\\PHPUnit60MigrationRiskySet' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit60MigrationRiskySet.php',
         'PhpCsFixer\\RuleSet\\Sets\\PHPUnit75MigrationRiskySet' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit75MigrationRiskySet.php',
         'PhpCsFixer\\RuleSet\\Sets\\PHPUnit84MigrationRiskySet' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit84MigrationRiskySet.php',
+        'PhpCsFixer\\RuleSet\\Sets\\PHPUnit91MigrationRiskySet' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit91MigrationRiskySet.php',
         'PhpCsFixer\\RuleSet\\Sets\\PSR12RiskySet' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PSR12RiskySet.php',
         'PhpCsFixer\\RuleSet\\Sets\\PSR12Set' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PSR12Set.php',
         'PhpCsFixer\\RuleSet\\Sets\\PSR1Set' => __DIR__ . '/..' . '/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PSR1Set.php',

+ 22 - 0
vendor/composer/pcre/extension.neon

@@ -0,0 +1,22 @@
+# composer/pcre PHPStan extensions
+#
+# These can be reused by third party packages by including 'vendor/composer/pcre/extension.neon'
+# in your phpstan config
+
+services:
+    -
+        class: Composer\Pcre\PHPStan\PregMatchParameterOutTypeExtension
+        tags:
+            - phpstan.staticMethodParameterOutTypeExtension
+    -
+        class: Composer\Pcre\PHPStan\PregMatchTypeSpecifyingExtension
+        tags:
+            - phpstan.typeSpecifier.staticMethodTypeSpecifyingExtension
+    -
+        class: Composer\Pcre\PHPStan\PregReplaceCallbackClosureTypeExtension
+        tags:
+            - phpstan.staticMethodParameterClosureTypeExtension
+
+rules:
+    - Composer\Pcre\PHPStan\UnsafeStrictGroupsCallRule
+    - Composer\Pcre\PHPStan\InvalidRegexPatternRule

+ 142 - 0
vendor/composer/pcre/src/PHPStan/InvalidRegexPatternRule.php

@@ -0,0 +1,142 @@
+<?php declare(strict_types = 1);
+
+namespace Composer\Pcre\PHPStan;
+
+use Composer\Pcre\Preg;
+use Composer\Pcre\Regex;
+use Composer\Pcre\PcreException;
+use Nette\Utils\RegexpException;
+use Nette\Utils\Strings;
+use PhpParser\Node;
+use PhpParser\Node\Expr\StaticCall;
+use PhpParser\Node\Name\FullyQualified;
+use PHPStan\Analyser\Scope;
+use PHPStan\Rules\Rule;
+use PHPStan\Rules\RuleErrorBuilder;
+use function in_array;
+use function sprintf;
+
+/**
+ * Copy of PHPStan's RegularExpressionPatternRule
+ *
+ * @implements Rule<StaticCall>
+ */
+class InvalidRegexPatternRule implements Rule
+{
+    public function getNodeType(): string
+    {
+        return StaticCall::class;
+    }
+
+    public function processNode(Node $node, Scope $scope): array
+    {
+        $patterns = $this->extractPatterns($node, $scope);
+
+        $errors = [];
+        foreach ($patterns as $pattern) {
+            $errorMessage = $this->validatePattern($pattern);
+            if ($errorMessage === null) {
+                continue;
+            }
+
+            $errors[] = RuleErrorBuilder::message(sprintf('Regex pattern is invalid: %s', $errorMessage))->identifier('regexp.pattern')->build();
+        }
+
+        return $errors;
+    }
+
+    /**
+     * @return string[]
+     */
+    private function extractPatterns(StaticCall $node, Scope $scope): array
+    {
+        if (!$node->class instanceof FullyQualified) {
+            return [];
+        }
+        $isRegex = $node->class->toString() === Regex::class;
+        $isPreg = $node->class->toString() === Preg::class;
+        if (!$isRegex && !$isPreg) {
+            return [];
+        }
+        if (!$node->name instanceof Node\Identifier || !Preg::isMatch('{^(match|isMatch|grep|replace|split)}', $node->name->name)) {
+            return [];
+        }
+
+        $functionName = $node->name->name;
+        if (!isset($node->getArgs()[0])) {
+            return [];
+        }
+
+        $patternNode = $node->getArgs()[0]->value;
+        $patternType = $scope->getType($patternNode);
+
+        $patternStrings = [];
+
+        foreach ($patternType->getConstantStrings() as $constantStringType) {
+            if ($functionName === 'replaceCallbackArray') {
+                continue;
+            }
+
+            $patternStrings[] = $constantStringType->getValue();
+        }
+
+        foreach ($patternType->getConstantArrays() as $constantArrayType) {
+            if (
+                in_array($functionName, [
+                    'replace',
+                    'replaceCallback',
+                ], true)
+            ) {
+                foreach ($constantArrayType->getValueTypes() as $arrayKeyType) {
+                    foreach ($arrayKeyType->getConstantStrings() as $constantString) {
+                        $patternStrings[] = $constantString->getValue();
+                    }
+                }
+            }
+
+            if ($functionName !== 'replaceCallbackArray') {
+                continue;
+            }
+
+            foreach ($constantArrayType->getKeyTypes() as $arrayKeyType) {
+                foreach ($arrayKeyType->getConstantStrings() as $constantString) {
+                    $patternStrings[] = $constantString->getValue();
+                }
+            }
+        }
+
+        return $patternStrings;
+    }
+
+    private function validatePattern(string $pattern): ?string
+    {
+        try {
+            $msg = null;
+            $prev = set_error_handler(function (int $severity, string $message, string $file) use (&$msg): bool {
+                $msg = preg_replace("#^preg_match(_all)?\\(.*?\\): #", '', $message);
+
+                return true;
+            });
+
+            if ($pattern === '') {
+                return 'Empty string is not a valid regular expression';
+            }
+
+            Preg::match($pattern, '');
+            if ($msg !== null) {
+                return $msg;
+            }
+        } catch (PcreException $e) {
+            if ($e->getCode() === PREG_INTERNAL_ERROR && $msg !== null) {
+                return $msg;
+            }
+
+            return preg_replace('{.*? failed executing ".*": }', '', $e->getMessage());
+        } finally {
+            restore_error_handler();
+        }
+
+        return null;
+    }
+
+}

+ 70 - 0
vendor/composer/pcre/src/PHPStan/PregMatchFlags.php

@@ -0,0 +1,70 @@
+<?php declare(strict_types=1);
+
+namespace Composer\Pcre\PHPStan;
+
+use PHPStan\Analyser\Scope;
+use PHPStan\Type\ArrayType;
+use PHPStan\Type\Constant\ConstantArrayType;
+use PHPStan\Type\Constant\ConstantIntegerType;
+use PHPStan\Type\IntersectionType;
+use PHPStan\Type\TypeCombinator;
+use PHPStan\Type\Type;
+use PhpParser\Node\Arg;
+use PHPStan\Type\Php\RegexArrayShapeMatcher;
+use PHPStan\Type\TypeTraverser;
+use PHPStan\Type\UnionType;
+
+final class PregMatchFlags
+{
+    static public function getType(?Arg $flagsArg, Scope $scope): ?Type
+    {
+        if ($flagsArg === null) {
+            return new ConstantIntegerType(PREG_UNMATCHED_AS_NULL);
+        }
+
+        $flagsType = $scope->getType($flagsArg->value);
+
+        $constantScalars = $flagsType->getConstantScalarValues();
+        if ($constantScalars === []) {
+            return null;
+        }
+
+        $internalFlagsTypes = [];
+        foreach ($flagsType->getConstantScalarValues() as $constantScalarValue) {
+            if (!is_int($constantScalarValue)) {
+                return null;
+            }
+
+            $internalFlagsTypes[] = new ConstantIntegerType($constantScalarValue | PREG_UNMATCHED_AS_NULL);
+        }
+        return TypeCombinator::union(...$internalFlagsTypes);
+    }
+
+    static public function removeNullFromMatches(Type $matchesType): Type
+    {
+        return TypeTraverser::map($matchesType, static function (Type $type, callable $traverse): Type {
+            if ($type instanceof UnionType || $type instanceof IntersectionType) {
+                return $traverse($type);
+            }
+
+            if ($type instanceof ConstantArrayType) {
+                return new ConstantArrayType(
+                    $type->getKeyTypes(),
+                    array_map(static function (Type $valueType) use ($traverse): Type {
+                        return $traverse($valueType);
+                    }, $type->getValueTypes()),
+                    $type->getNextAutoIndexes(),
+                    [],
+                    $type->isList()
+                );
+            }
+
+            if ($type instanceof ArrayType) {
+                return new ArrayType($type->getKeyType(), $traverse($type->getItemType()));
+            }
+
+            return TypeCombinator::removeNull($type);
+        });
+    }
+
+}

+ 65 - 0
vendor/composer/pcre/src/PHPStan/PregMatchParameterOutTypeExtension.php

@@ -0,0 +1,65 @@
+<?php declare(strict_types=1);
+
+namespace Composer\Pcre\PHPStan;
+
+use Composer\Pcre\Preg;
+use PhpParser\Node\Expr\StaticCall;
+use PHPStan\Analyser\Scope;
+use PHPStan\Reflection\MethodReflection;
+use PHPStan\Reflection\ParameterReflection;
+use PHPStan\TrinaryLogic;
+use PHPStan\Type\Php\RegexArrayShapeMatcher;
+use PHPStan\Type\StaticMethodParameterOutTypeExtension;
+use PHPStan\Type\Type;
+
+final class PregMatchParameterOutTypeExtension implements StaticMethodParameterOutTypeExtension
+{
+    /**
+     * @var RegexArrayShapeMatcher
+     */
+    private $regexShapeMatcher;
+
+    public function __construct(
+        RegexArrayShapeMatcher $regexShapeMatcher
+    )
+    {
+        $this->regexShapeMatcher = $regexShapeMatcher;
+    }
+
+    public function isStaticMethodSupported(MethodReflection $methodReflection, ParameterReflection $parameter): bool
+    {
+        return
+            $methodReflection->getDeclaringClass()->getName() === Preg::class
+            && in_array($methodReflection->getName(), [
+                'match', 'isMatch', 'matchStrictGroups', 'isMatchStrictGroups',
+                'matchAll', 'isMatchAll', 'matchAllStrictGroups', 'isMatchAllStrictGroups'
+            ], true)
+            && $parameter->getName() === 'matches';
+    }
+
+    public function getParameterOutTypeFromStaticMethodCall(MethodReflection $methodReflection, StaticCall $methodCall, ParameterReflection $parameter, Scope $scope): ?Type
+    {
+        $args = $methodCall->getArgs();
+        $patternArg = $args[0] ?? null;
+        $matchesArg = $args[2] ?? null;
+        $flagsArg = $args[3] ?? null;
+
+        if (
+            $patternArg === null || $matchesArg === null
+        ) {
+            return null;
+        }
+
+        $flagsType = PregMatchFlags::getType($flagsArg, $scope);
+        if ($flagsType === null) {
+            return null;
+        }
+
+        if (stripos($methodReflection->getName(), 'matchAll') !== false) {
+            return $this->regexShapeMatcher->matchAllExpr($patternArg->value, $flagsType, TrinaryLogic::createMaybe(), $scope);
+        }
+
+        return $this->regexShapeMatcher->matchExpr($patternArg->value, $flagsType, TrinaryLogic::createMaybe(), $scope);
+    }
+
+}

+ 119 - 0
vendor/composer/pcre/src/PHPStan/PregMatchTypeSpecifyingExtension.php

@@ -0,0 +1,119 @@
+<?php declare(strict_types=1);
+
+namespace Composer\Pcre\PHPStan;
+
+use Composer\Pcre\Preg;
+use PhpParser\Node\Expr\StaticCall;
+use PHPStan\Analyser\Scope;
+use PHPStan\Analyser\SpecifiedTypes;
+use PHPStan\Analyser\TypeSpecifier;
+use PHPStan\Analyser\TypeSpecifierAwareExtension;
+use PHPStan\Analyser\TypeSpecifierContext;
+use PHPStan\Reflection\MethodReflection;
+use PHPStan\TrinaryLogic;
+use PHPStan\Type\Constant\ConstantArrayType;
+use PHPStan\Type\Php\RegexArrayShapeMatcher;
+use PHPStan\Type\StaticMethodTypeSpecifyingExtension;
+use PHPStan\Type\TypeCombinator;
+use PHPStan\Type\Type;
+
+final class PregMatchTypeSpecifyingExtension implements StaticMethodTypeSpecifyingExtension, TypeSpecifierAwareExtension
+{
+    /**
+     * @var TypeSpecifier
+     */
+    private $typeSpecifier;
+
+    /**
+     * @var RegexArrayShapeMatcher
+     */
+    private $regexShapeMatcher;
+
+    public function __construct(RegexArrayShapeMatcher $regexShapeMatcher)
+    {
+        $this->regexShapeMatcher = $regexShapeMatcher;
+    }
+
+    public function setTypeSpecifier(TypeSpecifier $typeSpecifier): void
+    {
+        $this->typeSpecifier = $typeSpecifier;
+    }
+
+    public function getClass(): string
+    {
+        return Preg::class;
+    }
+
+    public function isStaticMethodSupported(MethodReflection $methodReflection, StaticCall $node, TypeSpecifierContext $context): bool
+    {
+        return in_array($methodReflection->getName(), [
+                'match', 'isMatch', 'matchStrictGroups', 'isMatchStrictGroups',
+                'matchAll', 'isMatchAll', 'matchAllStrictGroups', 'isMatchAllStrictGroups'
+            ], true)
+            && !$context->null();
+    }
+
+    public function specifyTypes(MethodReflection $methodReflection, StaticCall $node, Scope $scope, TypeSpecifierContext $context): SpecifiedTypes
+    {
+        $args = $node->getArgs();
+        $patternArg = $args[0] ?? null;
+        $matchesArg = $args[2] ?? null;
+        $flagsArg = $args[3] ?? null;
+
+        if (
+            $patternArg === null || $matchesArg === null
+        ) {
+            return new SpecifiedTypes();
+        }
+
+        $flagsType = PregMatchFlags::getType($flagsArg, $scope);
+        if ($flagsType === null) {
+            return new SpecifiedTypes();
+        }
+
+        if (stripos($methodReflection->getName(), 'matchAll') !== false) {
+            $matchedType = $this->regexShapeMatcher->matchAllExpr($patternArg->value, $flagsType, TrinaryLogic::createFromBoolean($context->true()), $scope);
+        } else {
+            $matchedType = $this->regexShapeMatcher->matchExpr($patternArg->value, $flagsType, TrinaryLogic::createFromBoolean($context->true()), $scope);
+        }
+
+        if ($matchedType === null) {
+            return new SpecifiedTypes();
+        }
+
+        if (
+            in_array($methodReflection->getName(), ['matchStrictGroups', 'isMatchStrictGroups', 'matchAllStrictGroups', 'isMatchAllStrictGroups'], true)
+        ) {
+            $matchedType = PregMatchFlags::removeNullFromMatches($matchedType);
+        }
+
+        $overwrite = false;
+        if ($context->false()) {
+            $overwrite = true;
+            $context = $context->negate();
+        }
+
+        // @phpstan-ignore function.alreadyNarrowedType
+        if (method_exists('PHPStan\Analyser\SpecifiedTypes', 'setRootExpr')) {
+            $typeSpecifier = $this->typeSpecifier->create(
+                $matchesArg->value,
+                $matchedType,
+                $context,
+                $scope
+            )->setRootExpr($node);
+
+            return $overwrite ? $typeSpecifier->setAlwaysOverwriteTypes() : $typeSpecifier;
+        }
+
+        // @phpstan-ignore arguments.count
+        return $this->typeSpecifier->create(
+            $matchesArg->value,
+            $matchedType,
+            $context,
+            // @phpstan-ignore argument.type
+            $overwrite,
+            $scope,
+            $node
+        );
+    }
+}

+ 91 - 0
vendor/composer/pcre/src/PHPStan/PregReplaceCallbackClosureTypeExtension.php

@@ -0,0 +1,91 @@
+<?php declare(strict_types=1);
+
+namespace Composer\Pcre\PHPStan;
+
+use Composer\Pcre\Preg;
+use Composer\Pcre\Regex;
+use PhpParser\Node\Expr\StaticCall;
+use PHPStan\Analyser\Scope;
+use PHPStan\Reflection\MethodReflection;
+use PHPStan\Reflection\Native\NativeParameterReflection;
+use PHPStan\Reflection\ParameterReflection;
+use PHPStan\TrinaryLogic;
+use PHPStan\Type\ClosureType;
+use PHPStan\Type\Constant\ConstantArrayType;
+use PHPStan\Type\Php\RegexArrayShapeMatcher;
+use PHPStan\Type\StaticMethodParameterClosureTypeExtension;
+use PHPStan\Type\StringType;
+use PHPStan\Type\TypeCombinator;
+use PHPStan\Type\Type;
+
+final class PregReplaceCallbackClosureTypeExtension implements StaticMethodParameterClosureTypeExtension
+{
+    /**
+     * @var RegexArrayShapeMatcher
+     */
+    private $regexShapeMatcher;
+
+    public function __construct(RegexArrayShapeMatcher $regexShapeMatcher)
+    {
+        $this->regexShapeMatcher = $regexShapeMatcher;
+    }
+
+    public function isStaticMethodSupported(MethodReflection $methodReflection, ParameterReflection $parameter): bool
+    {
+        return in_array($methodReflection->getDeclaringClass()->getName(), [Preg::class, Regex::class], true)
+            && in_array($methodReflection->getName(), ['replaceCallback', 'replaceCallbackStrictGroups'], true)
+            && $parameter->getName() === 'replacement';
+    }
+
+    public function getTypeFromStaticMethodCall(MethodReflection $methodReflection, StaticCall $methodCall, ParameterReflection $parameter, Scope $scope): ?Type
+    {
+        $args = $methodCall->getArgs();
+        $patternArg = $args[0] ?? null;
+        $flagsArg = $args[5] ?? null;
+
+        if (
+            $patternArg === null
+        ) {
+            return null;
+        }
+
+        $flagsType = PregMatchFlags::getType($flagsArg, $scope);
+
+        $matchesType = $this->regexShapeMatcher->matchExpr($patternArg->value, $flagsType, TrinaryLogic::createYes(), $scope);
+        if ($matchesType === null) {
+            return null;
+        }
+
+        if ($methodReflection->getName() === 'replaceCallbackStrictGroups' && count($matchesType->getConstantArrays()) === 1) {
+            $matchesType = $matchesType->getConstantArrays()[0];
+            $matchesType = new ConstantArrayType(
+                $matchesType->getKeyTypes(),
+                array_map(static function (Type $valueType): Type {
+                    if (count($valueType->getConstantArrays()) === 1) {
+                        $valueTypeArray = $valueType->getConstantArrays()[0];
+                        return new ConstantArrayType(
+                            $valueTypeArray->getKeyTypes(),
+                            array_map(static function (Type $valueType): Type {
+                                return TypeCombinator::removeNull($valueType);
+                            }, $valueTypeArray->getValueTypes()),
+                            $valueTypeArray->getNextAutoIndexes(),
+                            [],
+                            $valueTypeArray->isList()
+                        );
+                    }
+                    return TypeCombinator::removeNull($valueType);
+                }, $matchesType->getValueTypes()),
+                $matchesType->getNextAutoIndexes(),
+                [],
+                $matchesType->isList()
+            );
+        }
+
+        return new ClosureType(
+            [
+                new NativeParameterReflection($parameter->getName(), $parameter->isOptional(), $matchesType, $parameter->passedByReference(), $parameter->isVariadic(), $parameter->getDefaultValue()),
+            ],
+            new StringType()
+        );
+    }
+}

+ 112 - 0
vendor/composer/pcre/src/PHPStan/UnsafeStrictGroupsCallRule.php

@@ -0,0 +1,112 @@
+<?php declare(strict_types=1);
+
+namespace Composer\Pcre\PHPStan;
+
+use Composer\Pcre\Preg;
+use Composer\Pcre\Regex;
+use PhpParser\Node;
+use PhpParser\Node\Expr\StaticCall;
+use PhpParser\Node\Name\FullyQualified;
+use PHPStan\Analyser\Scope;
+use PHPStan\Analyser\SpecifiedTypes;
+use PHPStan\Rules\Rule;
+use PHPStan\Rules\RuleErrorBuilder;
+use PHPStan\TrinaryLogic;
+use PHPStan\Type\ObjectType;
+use PHPStan\Type\Type;
+use PHPStan\Type\TypeCombinator;
+use PHPStan\Type\Php\RegexArrayShapeMatcher;
+use function sprintf;
+
+/**
+ * @implements Rule<StaticCall>
+ */
+final class UnsafeStrictGroupsCallRule implements Rule
+{
+    /**
+     * @var RegexArrayShapeMatcher
+     */
+    private $regexShapeMatcher;
+
+    public function __construct(RegexArrayShapeMatcher $regexShapeMatcher)
+    {
+        $this->regexShapeMatcher = $regexShapeMatcher;
+    }
+
+    public function getNodeType(): string
+    {
+        return StaticCall::class;
+    }
+
+    public function processNode(Node $node, Scope $scope): array
+    {
+        if (!$node->class instanceof FullyQualified) {
+            return [];
+        }
+        $isRegex = $node->class->toString() === Regex::class;
+        $isPreg = $node->class->toString() === Preg::class;
+        if (!$isRegex && !$isPreg) {
+            return [];
+        }
+        if (!$node->name instanceof Node\Identifier || !in_array($node->name->name, ['matchStrictGroups', 'isMatchStrictGroups', 'matchAllStrictGroups', 'isMatchAllStrictGroups'], true)) {
+            return [];
+        }
+
+        $args = $node->getArgs();
+        if (!isset($args[0])) {
+            return [];
+        }
+
+        $patternArg = $args[0] ?? null;
+        if ($isPreg) {
+            if (!isset($args[2])) { // no matches set, skip as the matches won't be used anyway
+                return [];
+            }
+            $flagsArg = $args[3] ?? null;
+        } else {
+            $flagsArg = $args[2] ?? null;
+        }
+
+        if ($patternArg === null) {
+            return [];
+        }
+
+        $flagsType = PregMatchFlags::getType($flagsArg, $scope);
+        if ($flagsType === null) {
+            return [];
+        }
+
+        $matchedType = $this->regexShapeMatcher->matchExpr($patternArg->value, $flagsType, TrinaryLogic::createYes(), $scope);
+        if ($matchedType === null) {
+            return [
+                RuleErrorBuilder::message(sprintf('The %s call is potentially unsafe as $matches\' type could not be inferred.', $node->name->name))
+                    ->identifier('composerPcre.maybeUnsafeStrictGroups')
+                    ->build(),
+            ];
+        }
+
+        if (count($matchedType->getConstantArrays()) === 1) {
+            $matchedType = $matchedType->getConstantArrays()[0];
+            $nullableGroups = [];
+            foreach ($matchedType->getValueTypes() as $index => $type) {
+                if (TypeCombinator::containsNull($type)) {
+                    $nullableGroups[] = $matchedType->getKeyTypes()[$index]->getValue();
+                }
+            }
+
+            if (\count($nullableGroups) > 0) {
+                return [
+                    RuleErrorBuilder::message(sprintf(
+                        'The %s call is unsafe as match group%s "%s" %s optional and may be null.',
+                        $node->name->name,
+                        \count($nullableGroups) > 1 ? 's' : '',
+                        implode('", "', $nullableGroups),
+                        \count($nullableGroups) > 1 ? 'are' : 'is'
+                    ))->identifier('composerPcre.unsafeStrictGroups')->build(),
+                ];
+            }
+        }
+
+        return [];
+    }
+}

+ 127 - 0
vendor/friendsofphp/php-cs-fixer/src/Fixer/ConfigurableFixerTrait.php

@@ -0,0 +1,127 @@
+<?php
+
+declare(strict_types=1);
+
+/*
+ * This file is part of PHP CS Fixer.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *     Dariusz Rumiński <dariusz.ruminski@gmail.com>
+ *
+ * This source file is subject to the MIT license that is bundled
+ * with this source code in the file LICENSE.
+ */
+
+namespace PhpCsFixer\Fixer;
+
+use PhpCsFixer\ConfigurationException\InvalidFixerConfigurationException;
+use PhpCsFixer\ConfigurationException\InvalidForEnvFixerConfigurationException;
+use PhpCsFixer\ConfigurationException\RequiredFixerConfigurationException;
+use PhpCsFixer\Console\Application;
+use PhpCsFixer\FixerConfiguration\DeprecatedFixerOption;
+use PhpCsFixer\FixerConfiguration\FixerConfigurationResolverInterface;
+use PhpCsFixer\FixerConfiguration\InvalidOptionsForEnvException;
+use PhpCsFixer\Utils;
+use Symfony\Component\OptionsResolver\Exception\ExceptionInterface;
+use Symfony\Component\OptionsResolver\Exception\MissingOptionsException;
+
+/**
+ * @author Dariusz Rumiński <dariusz.ruminski@gmail.com>
+ *
+ * @internal
+ *
+ * @template TFixerInputConfig of array<string, mixed>
+ * @template TFixerComputedConfig of array<string, mixed>
+ */
+trait ConfigurableFixerTrait
+{
+    /**
+     * @var null|TFixerComputedConfig
+     */
+    protected $configuration;
+
+    /**
+     * @var null|FixerConfigurationResolverInterface
+     */
+    private $configurationDefinition;
+
+    /**
+     * @param TFixerInputConfig $configuration
+     */
+    final public function configure(array $configuration): void
+    {
+        $this->configurePreNormalisation($configuration);
+
+        foreach ($this->getConfigurationDefinition()->getOptions() as $option) {
+            if (!$option instanceof DeprecatedFixerOption) {
+                continue;
+            }
+
+            $name = $option->getName();
+            if (\array_key_exists($name, $configuration)) {
+                Utils::triggerDeprecation(new \InvalidArgumentException(\sprintf(
+                    'Option "%s" for rule "%s" is deprecated and will be removed in version %d.0. %s',
+                    $name,
+                    $this->getName(),
+                    Application::getMajorVersion() + 1,
+                    str_replace('`', '"', $option->getDeprecationMessage())
+                )));
+            }
+        }
+
+        try {
+            $this->configuration = $this->getConfigurationDefinition()->resolve($configuration); // @phpstan-ignore-line ->configuration typehint is autogenerated base on ConfigurationDefinition
+        } catch (MissingOptionsException $exception) {
+            throw new RequiredFixerConfigurationException(
+                $this->getName(),
+                \sprintf('Missing required configuration: %s', $exception->getMessage()),
+                $exception
+            );
+        } catch (InvalidOptionsForEnvException $exception) {
+            throw new InvalidForEnvFixerConfigurationException(
+                $this->getName(),
+                \sprintf('Invalid configuration for env: %s', $exception->getMessage()),
+                $exception
+            );
+        } catch (ExceptionInterface $exception) {
+            throw new InvalidFixerConfigurationException(
+                $this->getName(),
+                \sprintf('Invalid configuration: %s', $exception->getMessage()),
+                $exception
+            );
+        }
+
+        $this->configurePostNormalisation();
+    }
+
+    final public function getConfigurationDefinition(): FixerConfigurationResolverInterface
+    {
+        if (null === $this->configurationDefinition) {
+            $this->configurationDefinition = $this->createConfigurationDefinition();
+        }
+
+        return $this->configurationDefinition;
+    }
+
+    abstract public function getName(): string;
+
+    /**
+     * One can override me.
+     *
+     * @param TFixerInputConfig $configuration
+     */
+    protected function configurePreNormalisation(array &$configuration): void
+    {
+        // 🤔 ideally this method won't be needed, maybe we can remove it over time
+    }
+
+    /**
+     * One can override me.
+     */
+    protected function configurePostNormalisation(): void
+    {
+        // 🤔 ideally this method won't be needed, maybe we can remove it over time
+    }
+
+    abstract protected function createConfigurationDefinition(): FixerConfigurationResolverInterface;
+}

+ 20 - 0
vendor/friendsofphp/php-cs-fixer/src/Fixer/InternalFixerInterface.php

@@ -0,0 +1,20 @@
+<?php
+
+declare(strict_types=1);
+
+/*
+ * This file is part of PHP CS Fixer.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *     Dariusz Rumiński <dariusz.ruminski@gmail.com>
+ *
+ * This source file is subject to the MIT license that is bundled
+ * with this source code in the file LICENSE.
+ */
+
+namespace PhpCsFixer\Fixer;
+
+/**
+ * @internal
+ */
+interface InternalFixerInterface extends FixerInterface {}

+ 107 - 0
vendor/friendsofphp/php-cs-fixer/src/Fixer/PhpUnit/PhpUnitAssertNewNamesFixer.php

@@ -0,0 +1,107 @@
+<?php
+
+declare(strict_types=1);
+
+/*
+ * This file is part of PHP CS Fixer.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *     Dariusz Rumiński <dariusz.ruminski@gmail.com>
+ *
+ * This source file is subject to the MIT license that is bundled
+ * with this source code in the file LICENSE.
+ */
+
+namespace PhpCsFixer\Fixer\PhpUnit;
+
+use PhpCsFixer\Fixer\AbstractPhpUnitFixer;
+use PhpCsFixer\FixerDefinition\CodeSample;
+use PhpCsFixer\FixerDefinition\FixerDefinition;
+use PhpCsFixer\FixerDefinition\FixerDefinitionInterface;
+use PhpCsFixer\Tokenizer\Token;
+use PhpCsFixer\Tokenizer\Tokens;
+
+/**
+ * @author Krzysztof Ciszewski <krzysztof@ciszew.ski>
+ */
+final class PhpUnitAssertNewNamesFixer extends AbstractPhpUnitFixer
+{
+    public function isRisky(): bool
+    {
+        return true;
+    }
+
+    public function getDefinition(): FixerDefinitionInterface
+    {
+        return new FixerDefinition(
+            'Rename deprecated PHPUnit assertions like `assertFileNotExists` to new methods like `assertFileDoesNotExist`.',
+            [
+                new CodeSample(
+                    '<?php
+final class MyTest extends \PHPUnit_Framework_TestCase
+{
+    public function testSomeTest()
+    {
+        $this->assertFileNotExists("test.php");
+        $this->assertNotIsWritable("path.php");
+    }
+}
+'
+                ),
+            ],
+            null,
+            'Fixer could be risky if one is overriding PHPUnit\'s native methods.'
+        );
+    }
+
+    /**
+     * {@inheritdoc}
+     *
+     * Must run after PhpUnitDedicateAssertFixer.
+     */
+    public function getPriority(): int
+    {
+        return -10;
+    }
+
+    protected function applyPhpUnitClassFix(Tokens $tokens, int $startIndex, int $endIndex): void
+    {
+        foreach ($this->getPreviousAssertCall($tokens, $startIndex, $endIndex) as $assertCall) {
+            $this->fixAssertNewNames($tokens, $assertCall);
+        }
+    }
+
+    /**
+     * @param array{
+     *     index: int,
+     *     loweredName: string,
+     *     openBraceIndex: int,
+     *     closeBraceIndex: int,
+     * } $assertCall
+     */
+    private function fixAssertNewNames(Tokens $tokens, array $assertCall): void
+    {
+        $replacements = [
+            'assertnotisreadable' => 'assertIsNotReadable',
+            'assertnotiswritable' => 'assertIsNotWritable',
+            'assertdirectorynotexists' => 'assertDirectoryDoesNotExist',
+            'assertfilenotexists' => 'assertFileDoesNotExist',
+            'assertdirectorynotisreadable' => 'assertDirectoryIsNotReadable',
+            'assertdirectorynotiswritable' => 'assertDirectoryIsNotWriteable',
+            'assertfilenotisreadable' => 'assertFileIsNotReadable',
+            'assertfilenotiswritable' => 'assertFileIsNotWriteable',
+            'assertregexp' => 'assertMatchesRegularExpression',
+            'assertnotregexp' => 'assertDoesNotMatchRegularExpression',
+        ];
+        $replacement = $replacements[$assertCall['loweredName']] ?? null;
+
+        if (null === $replacement) {
+            return;
+        }
+
+        $tokens[$assertCall['index']] = new Token([
+            T_STRING,
+            $replacement,
+        ]);
+    }
+}

+ 31 - 0
vendor/friendsofphp/php-cs-fixer/src/RuleSet/Sets/PHPUnit91MigrationRiskySet.php

@@ -0,0 +1,31 @@
+<?php
+
+declare(strict_types=1);
+
+/*
+ * This file is part of PHP CS Fixer.
+ *
+ * (c) Fabien Potencier <fabien@symfony.com>
+ *     Dariusz Rumiński <dariusz.ruminski@gmail.com>
+ *
+ * This source file is subject to the MIT license that is bundled
+ * with this source code in the file LICENSE.
+ */
+
+namespace PhpCsFixer\RuleSet\Sets;
+
+use PhpCsFixer\RuleSet\AbstractMigrationSetDescription;
+
+/**
+ * @internal
+ */
+final class PHPUnit91MigrationRiskySet extends AbstractMigrationSetDescription
+{
+    public function getRules(): array
+    {
+        return [
+            '@PHPUnit84Migration:risky' => true,
+            'php_unit_assert_new_names' => true,
+        ];
+    }
+}

+ 51 - 0
vendor/hyperf/command/src/Concerns/Prohibitable.php

@@ -0,0 +1,51 @@
+<?php
+
+declare(strict_types=1);
+/**
+ * This file is part of Hyperf.
+ *
+ * @link     https://www.hyperf.io
+ * @document https://hyperf.wiki
+ * @contact  group@hyperf.io
+ * @license  https://github.com/hyperf/hyperf/blob/master/LICENSE
+ */
+
+namespace Hyperf\Command\Concerns;
+
+trait Prohibitable
+{
+    /**
+     * Indicates if the command should be prohibited from running.
+     *
+     * @var bool
+     */
+    protected static $prohibitedFromRunning = false;
+
+    /**
+     * Indicate whether the command should be prohibited from running.
+     *
+     * @param bool $prohibit
+     */
+    public static function prohibit($prohibit = true)
+    {
+        static::$prohibitedFromRunning = $prohibit;
+    }
+
+    /**
+     * Determine if the command is prohibited from running and display a warning if so.
+     *
+     * @return bool
+     */
+    protected function isProhibited(bool $quiet = false)
+    {
+        if (! static::$prohibitedFromRunning) {
+            return false;
+        }
+
+        if (! $quiet) {
+            $this->output->warn('This command is prohibited from running in this environment.');
+        }
+
+        return true;
+    }
+}

+ 24 - 0
vendor/hyperf/contract/src/CanBeEscapedWhenCastToString.php

@@ -0,0 +1,24 @@
+<?php
+
+declare(strict_types=1);
+/**
+ * This file is part of Hyperf.
+ *
+ * @link     https://www.hyperf.io
+ * @document https://hyperf.wiki
+ * @contact  group@hyperf.io
+ * @license  https://github.com/hyperf/hyperf/blob/master/LICENSE
+ */
+
+namespace Hyperf\Contract;
+
+interface CanBeEscapedWhenCastToString
+{
+    /**
+     * Indicate that the object's string representation should be escaped when __toString is invoked.
+     *
+     * @param bool $escape
+     * @return $this
+     */
+    public function escapeWhenCastingToString($escape = true);
+}

+ 17 - 0
vendor/hyperf/coroutine/src/Barrier.php

@@ -0,0 +1,17 @@
+<?php
+
+declare(strict_types=1);
+/**
+ * This file is part of Hyperf.
+ *
+ * @link     https://www.hyperf.io
+ * @document https://hyperf.wiki
+ * @contact  group@hyperf.io
+ * @license  https://github.com/hyperf/hyperf/blob/master/LICENSE
+ */
+
+namespace Hyperf\Coroutine;
+
+class Barrier extends \Hyperf\Engine\Barrier
+{
+}

+ 61 - 0
vendor/hyperf/coroutine/src/Mutex.php

@@ -0,0 +1,61 @@
+<?php
+
+declare(strict_types=1);
+/**
+ * This file is part of Hyperf.
+ *
+ * @link     https://www.hyperf.io
+ * @document https://hyperf.wiki
+ * @contact  group@hyperf.io
+ * @license  https://github.com/hyperf/hyperf/blob/master/LICENSE
+ */
+
+namespace Hyperf\Coroutine;
+
+use Hyperf\Engine\Channel;
+
+class Mutex
+{
+    /**
+     * @var Channel[]
+     */
+    protected static array $channels = [];
+
+    public static function lock(string $key, float $timeout = -1): bool
+    {
+        if (! isset(static::$channels[$key])) {
+            static::$channels[$key] = new Channel(1);
+        }
+
+        $channel = static::$channels[$key];
+        $channel->push(1, $timeout);
+        if ($channel->isTimeout() || $channel->isClosing()) {
+            return false;
+        }
+
+        return true;
+    }
+
+    public static function unlock(string $key, float $timeout = 5): bool
+    {
+        if (isset(static::$channels[$key])) {
+            $channel = static::$channels[$key];
+            $channel->pop($timeout);
+            if ($channel->isTimeout()) {
+                // unlock more than once
+                return false;
+            }
+        }
+
+        return true;
+    }
+
+    public static function clear(string $key): void
+    {
+        if (isset(static::$channels[$key])) {
+            $channel = static::$channels[$key];
+            static::$channels[$key] = null;
+            $channel->close();
+        }
+    }
+}

+ 48 - 0
vendor/hyperf/coroutine/src/WaitConcurrent.php

@@ -0,0 +1,48 @@
+<?php
+
+declare(strict_types=1);
+/**
+ * This file is part of Hyperf.
+ *
+ * @link     https://www.hyperf.io
+ * @document https://hyperf.wiki
+ * @contact  group@hyperf.io
+ * @license  https://github.com/hyperf/hyperf/blob/master/LICENSE
+ */
+
+namespace Hyperf\Coroutine;
+
+/**
+ * @method bool isFull()
+ * @method bool isEmpty()
+ */
+class WaitConcurrent extends Concurrent
+{
+    protected WaitGroup $wg;
+
+    public function __construct(protected int $limit)
+    {
+        parent::__construct($limit);
+        $this->wg = new WaitGroup();
+    }
+
+    public function create(callable $callable): void
+    {
+        $this->wg->add();
+
+        $callable = function () use ($callable) {
+            try {
+                $callable();
+            } finally {
+                $this->wg->done();
+            }
+        };
+
+        parent::create($callable);
+    }
+
+    public function wait(float $timeout = -1): bool
+    {
+        return $this->wg->wait($timeout);
+    }
+}

+ 35 - 0
vendor/hyperf/database/src/Exception/ClassMorphViolationException.php

@@ -0,0 +1,35 @@
+<?php
+
+declare(strict_types=1);
+/**
+ * This file is part of Hyperf.
+ *
+ * @link     https://www.hyperf.io
+ * @document https://hyperf.wiki
+ * @contact  group@hyperf.io
+ * @license  https://github.com/hyperf/hyperf/blob/master/LICENSE
+ */
+
+namespace Hyperf\Database\Exception;
+
+use RuntimeException;
+
+class ClassMorphViolationException extends RuntimeException
+{
+    /**
+     * The name of the affected Eloquent model.
+     */
+    public string $model;
+
+    /**
+     * Create a new exception instance.
+     */
+    public function __construct(object $model)
+    {
+        $class = get_class($model);
+
+        parent::__construct("No morph map defined for model [{$class}].");
+
+        $this->model = $class;
+    }
+}

+ 19 - 0
vendor/hyperf/database/src/Exception/MultipleColumnsSelectedException.php

@@ -0,0 +1,19 @@
+<?php
+
+declare(strict_types=1);
+/**
+ * This file is part of Hyperf.
+ *
+ * @link     https://www.hyperf.io
+ * @document https://hyperf.wiki
+ * @contact  group@hyperf.io
+ * @license  https://github.com/hyperf/hyperf/blob/master/LICENSE
+ */
+
+namespace Hyperf\Database\Exception;
+
+use RuntimeException;
+
+class MultipleColumnsSelectedException extends RuntimeException
+{
+}

+ 39 - 0
vendor/hyperf/database/src/Exception/MultipleRecordsFoundException.php

@@ -0,0 +1,39 @@
+<?php
+
+declare(strict_types=1);
+/**
+ * This file is part of Hyperf.
+ *
+ * @link     https://www.hyperf.io
+ * @document https://hyperf.wiki
+ * @contact  group@hyperf.io
+ * @license  https://github.com/hyperf/hyperf/blob/master/LICENSE
+ */
+
+namespace Hyperf\Database\Exception;
+
+use RuntimeException;
+use Throwable;
+
+class MultipleRecordsFoundException extends RuntimeException
+{
+    /**
+     * The number of records found.
+     */
+    public int $count;
+
+    public function __construct(int $count, int $code = 0, ?Throwable $previous = null)
+    {
+        $this->count = $count;
+
+        parent::__construct("{$count} records were found.", $code, $previous);
+    }
+
+    /**
+     * Get the number of records found.
+     */
+    public function getCount(): int
+    {
+        return $this->count;
+    }
+}

+ 19 - 0
vendor/hyperf/database/src/Exception/RecordsNotFoundException.php

@@ -0,0 +1,19 @@
+<?php
+
+declare(strict_types=1);
+/**
+ * This file is part of Hyperf.
+ *
+ * @link     https://www.hyperf.io
+ * @document https://hyperf.wiki
+ * @contact  group@hyperf.io
+ * @license  https://github.com/hyperf/hyperf/blob/master/LICENSE
+ */
+
+namespace Hyperf\Database\Exception;
+
+use RuntimeException;
+
+class RecordsNotFoundException extends RuntimeException
+{
+}

+ 17 - 0
vendor/hyperf/database/src/Exception/UniqueConstraintViolationException.php

@@ -0,0 +1,17 @@
+<?php
+
+declare(strict_types=1);
+/**
+ * This file is part of Hyperf.
+ *
+ * @link     https://www.hyperf.io
+ * @document https://hyperf.wiki
+ * @contact  group@hyperf.io
+ * @license  https://github.com/hyperf/hyperf/blob/master/LICENSE
+ */
+
+namespace Hyperf\Database\Exception;
+
+class UniqueConstraintViolationException extends QueryException
+{
+}

+ 28 - 0
vendor/hyperf/engine-contract/src/BarrierInterface.php

@@ -0,0 +1,28 @@
+<?php
+
+declare(strict_types=1);
+/**
+ * This file is part of Hyperf.
+ *
+ * @link     https://www.hyperf.io
+ * @document https://hyperf.wiki
+ * @contact  group@hyperf.io
+ * @license  https://github.com/hyperf/hyperf/blob/master/LICENSE
+ */
+
+namespace Hyperf\Engine\Contract;
+
+interface BarrierInterface
+{
+    /**
+     * Wait for the barrier to be released.
+     */
+    public static function wait(object &$barrier, int $timeout = -1): void;
+
+    /**
+     * Create a new barrier instance.
+     *
+     * @return BarrierInterface
+     */
+    public static function create(): object;
+}

+ 29 - 0
vendor/hyperf/engine/src/Barrier.php

@@ -0,0 +1,29 @@
+<?php
+
+declare(strict_types=1);
+/**
+ * This file is part of Hyperf.
+ *
+ * @link     https://www.hyperf.io
+ * @document https://hyperf.wiki
+ * @contact  group@hyperf.io
+ * @license  https://github.com/hyperf/hyperf/blob/master/LICENSE
+ */
+
+namespace Hyperf\Engine;
+
+use Hyperf\Engine\Contract\BarrierInterface;
+use Swoole\Coroutine\Barrier as SwooleBarrier;
+
+class Barrier implements BarrierInterface
+{
+    public static function wait(object &$barrier, int $timeout = -1): void
+    {
+        SwooleBarrier::wait($barrier, $timeout);
+    }
+
+    public static function create(): object
+    {
+        return SwooleBarrier::make();
+    }
+}

+ 47 - 0
vendor/hyperf/framework/src/Logger/ConsoleLogger.php

@@ -0,0 +1,47 @@
+<?php
+
+declare(strict_types=1);
+/**
+ * This file is part of Hyperf.
+ *
+ * @link     https://www.hyperf.io
+ * @document https://hyperf.wiki
+ * @contact  group@hyperf.io
+ * @license  https://github.com/hyperf/hyperf/blob/master/LICENSE
+ */
+
+namespace Hyperf\Framework\Logger;
+
+use Hyperf\Contract\StdoutLoggerInterface;
+use Symfony\Component\Console\Logger\ConsoleLogger as SymfonyConsoleLogger;
+use Symfony\Component\Console\Output\ConsoleOutput;
+use Symfony\Component\Console\Output\OutputInterface;
+
+class ConsoleLogger extends SymfonyConsoleLogger implements StdoutLoggerInterface
+{
+    public function __construct(?OutputInterface $output = null, array $verbosityLevelMap = [], array $formatLevelMap = [])
+    {
+        $output = $output ?? new ConsoleOutput(
+            (function (): int {
+                $argv = $_SERVER['argv'] ?? [];
+                $argv = is_string($argv) ? explode(' ', $argv) : $argv;
+
+                return match (true) {
+                    in_array('--quiet', $argv), in_array('-q', $argv) => OutputInterface::VERBOSITY_QUIET,
+                    in_array('-vvv', $argv) => OutputInterface::VERBOSITY_DEBUG,
+                    in_array('-vv', $argv) => OutputInterface::VERBOSITY_VERY_VERBOSE,
+                    in_array('-v', $argv) => OutputInterface::VERBOSITY_VERBOSE,
+                    default => match ((int) getenv('SHELL_VERBOSITY')) {
+                        -1 => OutputInterface::VERBOSITY_QUIET,
+                        1 => OutputInterface::VERBOSITY_VERBOSE,
+                        2 => OutputInterface::VERBOSITY_VERY_VERBOSE,
+                        3 => OutputInterface::VERBOSITY_DEBUG,
+                        default => OutputInterface::VERBOSITY_NORMAL,
+                    },
+                };
+            })()
+        );
+
+        parent::__construct($output, $verbosityLevelMap, $formatLevelMap);
+    }
+}

+ 55 - 0
vendor/hyperf/redis/src/Event/CommandExecuted.php

@@ -0,0 +1,55 @@
+<?php
+
+declare(strict_types=1);
+/**
+ * This file is part of Hyperf.
+ *
+ * @link     https://www.hyperf.io
+ * @document https://hyperf.wiki
+ * @contact  group@hyperf.io
+ * @license  https://github.com/hyperf/hyperf/blob/master/LICENSE
+ */
+
+namespace Hyperf\Redis\Event;
+
+use Hyperf\Redis\RedisConnection;
+use Throwable;
+
+use function Hyperf\Collection\collect;
+
+class CommandExecuted
+{
+    /**
+     * Create a new event instance.
+     * @param float $time duration in milliseconds
+     */
+    public function __construct(
+        public string $command,
+        public array $parameters,
+        public ?float $time,
+        public RedisConnection $connection,
+        public string $connectionName,
+        public mixed $result,
+        public ?Throwable $throwable,
+    ) {
+    }
+
+    public function getFormatCommand(): string
+    {
+        $parameters = collect($this->parameters)->map(function ($parameter) {
+            if (is_array($parameter)) {
+                return collect($parameter)->map(function ($value, $key) {
+                    if (is_array($value)) {
+                        return sprintf('%s %s', $key, json_encode($value));
+                    }
+
+                    return is_int($key) ? $value : sprintf('%s %s', $key, $value);
+                })->implode(' ');
+            }
+
+            return $parameter;
+        })->implode(' ');
+
+        return sprintf('%s %s', $this->command, $parameters);
+    }
+}

+ 75 - 0
vendor/hyperf/support/src/DotenvManager.php

@@ -0,0 +1,75 @@
+<?php
+
+declare(strict_types=1);
+/**
+ * This file is part of Hyperf.
+ *
+ * @link     https://www.hyperf.io
+ * @document https://hyperf.wiki
+ * @contact  group@hyperf.io
+ * @license  https://github.com/hyperf/hyperf/blob/master/LICENSE
+ */
+
+namespace Hyperf\Support;
+
+use Dotenv\Dotenv;
+use Dotenv\Repository\Adapter\AdapterInterface;
+use Dotenv\Repository\Adapter\PutenvAdapter;
+use Dotenv\Repository\RepositoryBuilder;
+
+class DotenvManager
+{
+    protected static AdapterInterface $adapter;
+
+    protected static Dotenv $dotenv;
+
+    protected static array $cachedValues;
+
+    public static function load(array $paths): void
+    {
+        if (isset(static::$cachedValues)) {
+            return;
+        }
+
+        static::$cachedValues = static::getDotenv($paths)->load();
+    }
+
+    public static function reload(array $paths, bool $force = false): void
+    {
+        if (! isset(static::$cachedValues)) {
+            static::load($paths);
+
+            return;
+        }
+
+        foreach (static::$cachedValues as $deletedEntry => $value) {
+            static::getAdapter()->delete($deletedEntry);
+        }
+
+        static::$cachedValues = static::getDotenv($paths, $force)->load();
+    }
+
+    protected static function getDotenv(array $paths, bool $force = false): Dotenv
+    {
+        if (isset(static::$dotenv) && ! $force) {
+            return static::$dotenv;
+        }
+
+        return static::$dotenv = Dotenv::create(
+            RepositoryBuilder::createWithNoAdapters()
+                ->addAdapter(static::getAdapter($force))
+                ->immutable()
+                ->make(),
+            $paths
+        );
+    }
+
+    protected static function getAdapter(bool $force = false): AdapterInterface
+    {
+        if (isset(static::$adapter) && ! $force) {
+            return static::$adapter;
+        }
+
+        return static::$adapter = PutenvAdapter::create()->get();
+    }
+}

+ 20 - 0
vendor/hyperf/watcher/src/Event/BeforeServerRestart.php

@@ -0,0 +1,20 @@
+<?php
+
+declare(strict_types=1);
+/**
+ * This file is part of Hyperf.
+ *
+ * @link     https://www.hyperf.io
+ * @document https://hyperf.wiki
+ * @contact  group@hyperf.io
+ * @license  https://github.com/hyperf/hyperf/blob/master/LICENSE
+ */
+
+namespace Hyperf\Watcher\Event;
+
+class BeforeServerRestart
+{
+    public function __construct(public string $pid)
+    {
+    }
+}

+ 44 - 0
vendor/hyperf/watcher/src/Listener/ReloadDotenvListener.php

@@ -0,0 +1,44 @@
+<?php
+
+declare(strict_types=1);
+/**
+ * This file is part of Hyperf.
+ *
+ * @link     https://www.hyperf.io
+ * @document https://hyperf.wiki
+ * @contact  group@hyperf.io
+ * @license  https://github.com/hyperf/hyperf/blob/master/LICENSE
+ */
+
+namespace Hyperf\Watcher\Listener;
+
+use Hyperf\Event\Contract\ListenerInterface;
+use Hyperf\Support\DotenvManager;
+use Hyperf\Watcher\Event\BeforeServerRestart;
+use Psr\Container\ContainerInterface;
+
+final class ReloadDotenvListener implements ListenerInterface
+{
+    public function __construct(protected ContainerInterface $container)
+    {
+    }
+
+    public function listen(): array
+    {
+        return [
+            BeforeServerRestart::class,
+        ];
+    }
+
+    public function process(object $event): void
+    {
+        $this->reloadDotenv();
+    }
+
+    private function reloadDotenv(): void
+    {
+        if (file_exists(BASE_PATH . '/.env')) {
+            DotenvManager::reload([BASE_PATH]);
+        }
+    }
+}

+ 5 - 0
vendor/laminas/laminas-stdlib/.laminas-ci.json

@@ -0,0 +1,5 @@
+{
+    "ignore_php_platform_requirements": {
+        "8.4": true
+    }
+}

+ 48 - 0
vendor/monolog/monolog/src/Monolog/JsonSerializableDateTimeImmutable.php

@@ -0,0 +1,48 @@
+<?php declare(strict_types=1);
+
+/*
+ * This file is part of the Monolog package.
+ *
+ * (c) Jordi Boggiano <j.boggiano@seld.be>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Monolog;
+
+use DateTimeZone;
+
+/**
+ * Overrides default json encoding of date time objects
+ *
+ * @author Menno Holtkamp
+ * @author Jordi Boggiano <j.boggiano@seld.be>
+ */
+class JsonSerializableDateTimeImmutable extends \DateTimeImmutable implements \JsonSerializable
+{
+    private bool $useMicroseconds;
+
+    public function __construct(bool $useMicroseconds, ?DateTimeZone $timezone = null)
+    {
+        $this->useMicroseconds = $useMicroseconds;
+
+        // if you like to use a custom time to pass to Logger::addRecord directly,
+        // call modify() or setTimestamp() on this instance to change the date after creating it
+        parent::__construct('now', $timezone);
+    }
+
+    public function jsonSerialize(): string
+    {
+        if ($this->useMicroseconds) {
+            return $this->format('Y-m-d\TH:i:s.uP');
+        }
+
+        return $this->format('Y-m-d\TH:i:sP');
+    }
+
+    public function __toString(): string
+    {
+        return $this->jsonSerialize();
+    }
+}

+ 71 - 0
vendor/monolog/monolog/src/Monolog/Test/MonologTestCase.php

@@ -0,0 +1,71 @@
+<?php declare(strict_types=1);
+
+/*
+ * This file is part of the Monolog package.
+ *
+ * (c) Jordi Boggiano <j.boggiano@seld.be>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+
+namespace Monolog\Test;
+
+use Monolog\Level;
+use Monolog\Logger;
+use Monolog\LogRecord;
+use Monolog\JsonSerializableDateTimeImmutable;
+use Monolog\Formatter\FormatterInterface;
+use Psr\Log\LogLevel;
+
+/**
+ * Lets you easily generate log records and a dummy formatter for testing purposes
+ *
+ * @author Jordi Boggiano <j.boggiano@seld.be>
+ */
+class MonologTestCase extends \PHPUnit\Framework\TestCase
+{
+    /**
+     * @param array<mixed> $context
+     * @param array<mixed> $extra
+     *
+     * @phpstan-param value-of<Level::VALUES>|value-of<Level::NAMES>|Level|LogLevel::* $level
+     */
+    protected function getRecord(int|string|Level $level = Level::Warning, string|\Stringable $message = 'test', array $context = [], string $channel = 'test', \DateTimeImmutable $datetime = new JsonSerializableDateTimeImmutable(true), array $extra = []): LogRecord
+    {
+        return new LogRecord(
+            message: (string) $message,
+            context: $context,
+            level: Logger::toMonologLevel($level),
+            channel: $channel,
+            datetime: $datetime,
+            extra: $extra,
+        );
+    }
+
+    /**
+     * @phpstan-return list<LogRecord>
+     */
+    protected function getMultipleRecords(): array
+    {
+        return [
+            $this->getRecord(Level::Debug, 'debug message 1'),
+            $this->getRecord(Level::Debug, 'debug message 2'),
+            $this->getRecord(Level::Info, 'information'),
+            $this->getRecord(Level::Warning, 'warning'),
+            $this->getRecord(Level::Error, 'error'),
+        ];
+    }
+
+    protected function getIdentityFormatter(): FormatterInterface
+    {
+        $formatter = $this->createMock(FormatterInterface::class);
+        $formatter->expects(self::any())
+            ->method('format')
+            ->willReturnCallback(function ($record) {
+                return $record->message;
+            });
+
+        return $formatter;
+    }
+}

+ 42 - 0
vendor/myclabs/deep-copy/src/DeepCopy/TypeFilter/Date/DatePeriodFilter.php

@@ -0,0 +1,42 @@
+<?php
+
+namespace DeepCopy\TypeFilter\Date;
+
+use DatePeriod;
+use DeepCopy\TypeFilter\TypeFilter;
+
+/**
+ * @final
+ */
+class DatePeriodFilter implements TypeFilter
+{
+    /**
+     * {@inheritdoc}
+     *
+     * @param DatePeriod $element
+     *
+     * @see http://news.php.net/php.bugs/205076
+     */
+    public function apply($element)
+    {
+        $options = 0;
+        if (PHP_VERSION_ID >= 80200 && $element->include_end_date) {
+            $options |= DatePeriod::INCLUDE_END_DATE;
+        }
+        if (!$element->include_start_date) {
+            $options |= DatePeriod::EXCLUDE_START_DATE;
+        }
+
+        if ($element->getEndDate()) {
+            return new DatePeriod($element->getStartDate(), $element->getDateInterval(), $element->getEndDate(), $options);
+        }
+
+        if (PHP_VERSION_ID >= 70217) {
+            $recurrences = $element->getRecurrences();
+        } else {
+            $recurrences = $element->recurrences - $element->include_start_date;
+        }
+
+        return new DatePeriod($element->getStartDate(), $element->getDateInterval(), $recurrences, $options);
+    }
+}

+ 84 - 0
vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterLastTestMethodErrored.php

@@ -0,0 +1,84 @@
+<?php declare(strict_types=1);
+/*
+ * This file is part of PHPUnit.
+ *
+ * (c) Sebastian Bergmann <sebastian@phpunit.de>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\Event\Test;
+
+use const PHP_EOL;
+use function sprintf;
+use PHPUnit\Event\Code;
+use PHPUnit\Event\Code\Throwable;
+use PHPUnit\Event\Event;
+use PHPUnit\Event\Telemetry;
+
+/**
+ * @psalm-immutable
+ *
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ */
+final class AfterLastTestMethodErrored implements Event
+{
+    private readonly Telemetry\Info $telemetryInfo;
+
+    /**
+     * @psalm-var class-string
+     */
+    private readonly string $testClassName;
+    private readonly Code\ClassMethod $calledMethod;
+    private readonly Throwable $throwable;
+
+    /**
+     * @psalm-param class-string $testClassName
+     */
+    public function __construct(Telemetry\Info $telemetryInfo, string $testClassName, Code\ClassMethod $calledMethod, Throwable $throwable)
+    {
+        $this->telemetryInfo = $telemetryInfo;
+        $this->testClassName = $testClassName;
+        $this->calledMethod  = $calledMethod;
+        $this->throwable     = $throwable;
+    }
+
+    public function telemetryInfo(): Telemetry\Info
+    {
+        return $this->telemetryInfo;
+    }
+
+    /**
+     * @psalm-return class-string
+     */
+    public function testClassName(): string
+    {
+        return $this->testClassName;
+    }
+
+    public function calledMethod(): Code\ClassMethod
+    {
+        return $this->calledMethod;
+    }
+
+    public function throwable(): Throwable
+    {
+        return $this->throwable;
+    }
+
+    public function asString(): string
+    {
+        $message = $this->throwable->message();
+
+        if (!empty($message)) {
+            $message = PHP_EOL . $message;
+        }
+
+        return sprintf(
+            'After Last Test Method Errored (%s::%s)%s',
+            $this->calledMethod->className(),
+            $this->calledMethod->methodName(),
+            $message,
+        );
+    }
+}

+ 20 - 0
vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterLastTestMethodErroredSubscriber.php

@@ -0,0 +1,20 @@
+<?php declare(strict_types=1);
+/*
+ * This file is part of PHPUnit.
+ *
+ * (c) Sebastian Bergmann <sebastian@phpunit.de>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\Event\Test;
+
+use PHPUnit\Event\Subscriber;
+
+/**
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ */
+interface AfterLastTestMethodErroredSubscriber extends Subscriber
+{
+    public function notify(AfterLastTestMethodErrored $event): void;
+}

+ 84 - 0
vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodErrored.php

@@ -0,0 +1,84 @@
+<?php declare(strict_types=1);
+/*
+ * This file is part of PHPUnit.
+ *
+ * (c) Sebastian Bergmann <sebastian@phpunit.de>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\Event\Test;
+
+use const PHP_EOL;
+use function sprintf;
+use PHPUnit\Event\Code;
+use PHPUnit\Event\Code\Throwable;
+use PHPUnit\Event\Event;
+use PHPUnit\Event\Telemetry;
+
+/**
+ * @psalm-immutable
+ *
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ */
+final class AfterTestMethodErrored implements Event
+{
+    private readonly Telemetry\Info $telemetryInfo;
+
+    /**
+     * @psalm-var class-string
+     */
+    private readonly string $testClassName;
+    private readonly Code\ClassMethod $calledMethod;
+    private readonly Throwable $throwable;
+
+    /**
+     * @psalm-param class-string $testClassName
+     */
+    public function __construct(Telemetry\Info $telemetryInfo, string $testClassName, Code\ClassMethod $calledMethod, Throwable $throwable)
+    {
+        $this->telemetryInfo = $telemetryInfo;
+        $this->testClassName = $testClassName;
+        $this->calledMethod  = $calledMethod;
+        $this->throwable     = $throwable;
+    }
+
+    public function telemetryInfo(): Telemetry\Info
+    {
+        return $this->telemetryInfo;
+    }
+
+    /**
+     * @psalm-return class-string
+     */
+    public function testClassName(): string
+    {
+        return $this->testClassName;
+    }
+
+    public function calledMethod(): Code\ClassMethod
+    {
+        return $this->calledMethod;
+    }
+
+    public function throwable(): Throwable
+    {
+        return $this->throwable;
+    }
+
+    public function asString(): string
+    {
+        $message = $this->throwable->message();
+
+        if (!empty($message)) {
+            $message = PHP_EOL . $message;
+        }
+
+        return sprintf(
+            'After Test Method Errored (%s::%s)%s',
+            $this->calledMethod->className(),
+            $this->calledMethod->methodName(),
+            $message,
+        );
+    }
+}

+ 20 - 0
vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/AfterTestMethodErroredSubscriber.php

@@ -0,0 +1,20 @@
+<?php declare(strict_types=1);
+/*
+ * This file is part of PHPUnit.
+ *
+ * (c) Sebastian Bergmann <sebastian@phpunit.de>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\Event\Test;
+
+use PHPUnit\Event\Subscriber;
+
+/**
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ */
+interface AfterTestMethodErroredSubscriber extends Subscriber
+{
+    public function notify(AfterTestMethodErrored $event): void;
+}

+ 84 - 0
vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeTestMethodErrored.php

@@ -0,0 +1,84 @@
+<?php declare(strict_types=1);
+/*
+ * This file is part of PHPUnit.
+ *
+ * (c) Sebastian Bergmann <sebastian@phpunit.de>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\Event\Test;
+
+use const PHP_EOL;
+use function sprintf;
+use PHPUnit\Event\Code;
+use PHPUnit\Event\Code\Throwable;
+use PHPUnit\Event\Event;
+use PHPUnit\Event\Telemetry;
+
+/**
+ * @psalm-immutable
+ *
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ */
+final class BeforeTestMethodErrored implements Event
+{
+    private readonly Telemetry\Info $telemetryInfo;
+
+    /**
+     * @psalm-var class-string
+     */
+    private readonly string $testClassName;
+    private readonly Code\ClassMethod $calledMethod;
+    private readonly Throwable $throwable;
+
+    /**
+     * @psalm-param class-string $testClassName
+     */
+    public function __construct(Telemetry\Info $telemetryInfo, string $testClassName, Code\ClassMethod $calledMethod, Throwable $throwable)
+    {
+        $this->telemetryInfo = $telemetryInfo;
+        $this->testClassName = $testClassName;
+        $this->calledMethod  = $calledMethod;
+        $this->throwable     = $throwable;
+    }
+
+    public function telemetryInfo(): Telemetry\Info
+    {
+        return $this->telemetryInfo;
+    }
+
+    /**
+     * @psalm-return class-string
+     */
+    public function testClassName(): string
+    {
+        return $this->testClassName;
+    }
+
+    public function calledMethod(): Code\ClassMethod
+    {
+        return $this->calledMethod;
+    }
+
+    public function throwable(): Throwable
+    {
+        return $this->throwable;
+    }
+
+    public function asString(): string
+    {
+        $message = $this->throwable->message();
+
+        if (!empty($message)) {
+            $message = PHP_EOL . $message;
+        }
+
+        return sprintf(
+            'Before Test Method Errored (%s::%s)%s',
+            $this->calledMethod->className(),
+            $this->calledMethod->methodName(),
+            $message,
+        );
+    }
+}

+ 20 - 0
vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/BeforeTestMethodErroredSubscriber.php

@@ -0,0 +1,20 @@
+<?php declare(strict_types=1);
+/*
+ * This file is part of PHPUnit.
+ *
+ * (c) Sebastian Bergmann <sebastian@phpunit.de>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\Event\Test;
+
+use PHPUnit\Event\Subscriber;
+
+/**
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ */
+interface BeforeTestMethodErroredSubscriber extends Subscriber
+{
+    public function notify(BeforeTestMethodErrored $event): void;
+}

+ 84 - 0
vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/PostConditionErrored.php

@@ -0,0 +1,84 @@
+<?php declare(strict_types=1);
+/*
+ * This file is part of PHPUnit.
+ *
+ * (c) Sebastian Bergmann <sebastian@phpunit.de>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\Event\Test;
+
+use const PHP_EOL;
+use function sprintf;
+use PHPUnit\Event\Code;
+use PHPUnit\Event\Code\Throwable;
+use PHPUnit\Event\Event;
+use PHPUnit\Event\Telemetry;
+
+/**
+ * @psalm-immutable
+ *
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ */
+final class PostConditionErrored implements Event
+{
+    private readonly Telemetry\Info $telemetryInfo;
+
+    /**
+     * @psalm-var class-string
+     */
+    private readonly string $testClassName;
+    private readonly Code\ClassMethod $calledMethod;
+    private readonly Throwable $throwable;
+
+    /**
+     * @psalm-param class-string $testClassName
+     */
+    public function __construct(Telemetry\Info $telemetryInfo, string $testClassName, Code\ClassMethod $calledMethod, Throwable $throwable)
+    {
+        $this->telemetryInfo = $telemetryInfo;
+        $this->testClassName = $testClassName;
+        $this->calledMethod  = $calledMethod;
+        $this->throwable     = $throwable;
+    }
+
+    public function telemetryInfo(): Telemetry\Info
+    {
+        return $this->telemetryInfo;
+    }
+
+    /**
+     * @psalm-return class-string
+     */
+    public function testClassName(): string
+    {
+        return $this->testClassName;
+    }
+
+    public function calledMethod(): Code\ClassMethod
+    {
+        return $this->calledMethod;
+    }
+
+    public function throwable(): Throwable
+    {
+        return $this->throwable;
+    }
+
+    public function asString(): string
+    {
+        $message = $this->throwable->message();
+
+        if (!empty($message)) {
+            $message = PHP_EOL . $message;
+        }
+
+        return sprintf(
+            'Post Condition Method Errored (%s::%s)%s',
+            $this->calledMethod->className(),
+            $this->calledMethod->methodName(),
+            $message,
+        );
+    }
+}

+ 20 - 0
vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/PostConditionErroredSubscriber.php

@@ -0,0 +1,20 @@
+<?php declare(strict_types=1);
+/*
+ * This file is part of PHPUnit.
+ *
+ * (c) Sebastian Bergmann <sebastian@phpunit.de>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\Event\Test;
+
+use PHPUnit\Event\Subscriber;
+
+/**
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ */
+interface PostConditionErroredSubscriber extends Subscriber
+{
+    public function notify(PostConditionErrored $event): void;
+}

+ 84 - 0
vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/PreConditionErrored.php

@@ -0,0 +1,84 @@
+<?php declare(strict_types=1);
+/*
+ * This file is part of PHPUnit.
+ *
+ * (c) Sebastian Bergmann <sebastian@phpunit.de>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\Event\Test;
+
+use const PHP_EOL;
+use function sprintf;
+use PHPUnit\Event\Code;
+use PHPUnit\Event\Code\Throwable;
+use PHPUnit\Event\Event;
+use PHPUnit\Event\Telemetry;
+
+/**
+ * @psalm-immutable
+ *
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ */
+final class PreConditionErrored implements Event
+{
+    private readonly Telemetry\Info $telemetryInfo;
+
+    /**
+     * @psalm-var class-string
+     */
+    private readonly string $testClassName;
+    private readonly Code\ClassMethod $calledMethod;
+    private readonly Throwable $throwable;
+
+    /**
+     * @psalm-param class-string $testClassName
+     */
+    public function __construct(Telemetry\Info $telemetryInfo, string $testClassName, Code\ClassMethod $calledMethod, Throwable $throwable)
+    {
+        $this->telemetryInfo = $telemetryInfo;
+        $this->testClassName = $testClassName;
+        $this->calledMethod  = $calledMethod;
+        $this->throwable     = $throwable;
+    }
+
+    public function telemetryInfo(): Telemetry\Info
+    {
+        return $this->telemetryInfo;
+    }
+
+    /**
+     * @psalm-return class-string
+     */
+    public function testClassName(): string
+    {
+        return $this->testClassName;
+    }
+
+    public function calledMethod(): Code\ClassMethod
+    {
+        return $this->calledMethod;
+    }
+
+    public function throwable(): Throwable
+    {
+        return $this->throwable;
+    }
+
+    public function asString(): string
+    {
+        $message = $this->throwable->message();
+
+        if (!empty($message)) {
+            $message = PHP_EOL . $message;
+        }
+
+        return sprintf(
+            'Pre Condition Method Errored (%s::%s)%s',
+            $this->calledMethod->className(),
+            $this->calledMethod->methodName(),
+            $message,
+        );
+    }
+}

+ 20 - 0
vendor/phpunit/phpunit/src/Event/Events/Test/HookMethod/PreConditionErroredSubscriber.php

@@ -0,0 +1,20 @@
+<?php declare(strict_types=1);
+/*
+ * This file is part of PHPUnit.
+ *
+ * (c) Sebastian Bergmann <sebastian@phpunit.de>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\Event\Test;
+
+use PHPUnit\Event\Subscriber;
+
+/**
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ */
+interface PreConditionErroredSubscriber extends Subscriber
+{
+    public function notify(PreConditionErrored $event): void;
+}

+ 32 - 0
vendor/phpunit/phpunit/src/Framework/MockObject/Exception/NoMoreReturnValuesConfiguredException.php

@@ -0,0 +1,32 @@
+<?php declare(strict_types=1);
+/*
+ * This file is part of PHPUnit.
+ *
+ * (c) Sebastian Bergmann <sebastian@phpunit.de>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\Framework\MockObject;
+
+use function sprintf;
+
+/**
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ *
+ * @internal This class is not covered by the backward compatibility promise for PHPUnit
+ */
+final class NoMoreReturnValuesConfiguredException extends \PHPUnit\Framework\Exception implements Exception
+{
+    public function __construct(Invocation $invocation, int $numberOfConfiguredReturnValues)
+    {
+        parent::__construct(
+            sprintf(
+                'Only %d return values have been configured for %s::%s()',
+                $numberOfConfiguredReturnValues,
+                $invocation->className(),
+                $invocation->methodName(),
+            ),
+        );
+    }
+}

+ 31 - 0
vendor/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/CannotUseAddMethodsException.php

@@ -0,0 +1,31 @@
+<?php declare(strict_types=1);
+/*
+ * This file is part of PHPUnit.
+ *
+ * (c) Sebastian Bergmann <sebastian@phpunit.de>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\Framework\MockObject\Generator;
+
+use function sprintf;
+
+/**
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ *
+ * @internal This class is not covered by the backward compatibility promise for PHPUnit
+ */
+final class CannotUseAddMethodsException extends \PHPUnit\Framework\Exception implements Exception
+{
+    public function __construct(string $type, string $methodName)
+    {
+        parent::__construct(
+            sprintf(
+                'Trying to configure method "%s" with addMethods(), but it exists in class "%s". Use onlyMethods() for methods that exist in the class',
+                $methodName,
+                $type,
+            ),
+        );
+    }
+}

+ 33 - 0
vendor/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/NameAlreadyInUseException.php

@@ -0,0 +1,33 @@
+<?php declare(strict_types=1);
+/*
+ * This file is part of PHPUnit.
+ *
+ * (c) Sebastian Bergmann <sebastian@phpunit.de>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\Framework\MockObject\Generator;
+
+use function sprintf;
+
+/**
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ *
+ * @internal This class is not covered by the backward compatibility promise for PHPUnit
+ */
+final class NameAlreadyInUseException extends \PHPUnit\Framework\Exception implements Exception
+{
+    /**
+     * @psalm-param class-string|trait-string $name
+     */
+    public function __construct(string $name)
+    {
+        parent::__construct(
+            sprintf(
+                'The name "%s" is already in use',
+                $name,
+            ),
+        );
+    }
+}

+ 26 - 0
vendor/phpunit/phpunit/src/Logging/JUnit/Subscriber/TestPrintedUnexpectedOutputSubscriber.php

@@ -0,0 +1,26 @@
+<?php declare(strict_types=1);
+/*
+ * This file is part of PHPUnit.
+ *
+ * (c) Sebastian Bergmann <sebastian@phpunit.de>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\Logging\JUnit;
+
+use PHPUnit\Event\Test\PrintedUnexpectedOutput;
+use PHPUnit\Event\Test\PrintedUnexpectedOutputSubscriber;
+
+/**
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ *
+ * @internal This class is not covered by the backward compatibility promise for PHPUnit
+ */
+final class TestPrintedUnexpectedOutputSubscriber extends Subscriber implements PrintedUnexpectedOutputSubscriber
+{
+    public function notify(PrintedUnexpectedOutput $event): void
+    {
+        $this->logger()->testPrintedUnexpectedOutput($event);
+    }
+}

+ 30 - 0
vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestSuiteBeforeFirstTestMethodErroredSubscriber.php

@@ -0,0 +1,30 @@
+<?php declare(strict_types=1);
+/*
+ * This file is part of PHPUnit.
+ *
+ * (c) Sebastian Bergmann <sebastian@phpunit.de>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\Logging\TeamCity;
+
+use PHPUnit\Event\InvalidArgumentException;
+use PHPUnit\Event\Test\BeforeFirstTestMethodErrored;
+use PHPUnit\Event\Test\BeforeFirstTestMethodErroredSubscriber;
+
+/**
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ *
+ * @internal This class is not covered by the backward compatibility promise for PHPUnit
+ */
+final class TestSuiteBeforeFirstTestMethodErroredSubscriber extends Subscriber implements BeforeFirstTestMethodErroredSubscriber
+{
+    /**
+     * @throws InvalidArgumentException
+     */
+    public function notify(BeforeFirstTestMethodErrored $event): void
+    {
+        $this->logger()->beforeFirstTestMethodErrored($event);
+    }
+}

+ 30 - 0
vendor/phpunit/phpunit/src/Logging/TeamCity/Subscriber/TestSuiteSkippedSubscriber.php

@@ -0,0 +1,30 @@
+<?php declare(strict_types=1);
+/*
+ * This file is part of PHPUnit.
+ *
+ * (c) Sebastian Bergmann <sebastian@phpunit.de>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\Logging\TeamCity;
+
+use PHPUnit\Event\InvalidArgumentException;
+use PHPUnit\Event\TestSuite\Skipped;
+use PHPUnit\Event\TestSuite\SkippedSubscriber;
+
+/**
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ *
+ * @internal This class is not covered by the backward compatibility promise for PHPUnit
+ */
+final class TestSuiteSkippedSubscriber extends Subscriber implements SkippedSubscriber
+{
+    /**
+     * @throws InvalidArgumentException
+     */
+    public function notify(Skipped $event): void
+    {
+        $this->logger()->testSuiteSkipped($event);
+    }
+}

+ 45 - 0
vendor/phpunit/phpunit/src/Metadata/Exception/InvalidAttributeException.php

@@ -0,0 +1,45 @@
+<?php declare(strict_types=1);
+/*
+ * This file is part of PHPUnit.
+ *
+ * (c) Sebastian Bergmann <sebastian@phpunit.de>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\Metadata;
+
+use const PHP_EOL;
+use function sprintf;
+use PHPUnit\Exception;
+use RuntimeException;
+
+/**
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ *
+ * @internal This class is not covered by the backward compatibility promise for PHPUnit
+ */
+final class InvalidAttributeException extends RuntimeException implements Exception
+{
+    /**
+     * @param non-empty-string $attributeName
+     * @param non-empty-string $target
+     * @param non-empty-string $file
+     * @param positive-int     $line
+     * @param non-empty-string $message
+     */
+    public function __construct(string $attributeName, string $target, string $file, int $line, string $message)
+    {
+        parent::__construct(
+            sprintf(
+                'Invalid attribute %s for %s in %s:%d%s%s',
+                $attributeName,
+                $target,
+                $file,
+                $line,
+                PHP_EOL,
+                $message,
+            ),
+        );
+    }
+}

+ 31 - 0
vendor/phpunit/phpunit/src/Runner/Exception/DirectoryDoesNotExistException.php

@@ -0,0 +1,31 @@
+<?php declare(strict_types=1);
+/*
+ * This file is part of PHPUnit.
+ *
+ * (c) Sebastian Bergmann <sebastian@phpunit.de>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\Runner;
+
+use function sprintf;
+use RuntimeException;
+
+/**
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ *
+ * @internal This class is not covered by the backward compatibility promise for PHPUnit
+ */
+final class DirectoryDoesNotExistException extends RuntimeException implements Exception
+{
+    public function __construct(string $directory)
+    {
+        parent::__construct(
+            sprintf(
+                'Directory "%s" does not exist and could not be created',
+                $directory,
+            ),
+        );
+    }
+}

+ 26 - 0
vendor/phpunit/phpunit/src/Runner/TestResult/Subscriber/AfterTestClassMethodErroredSubscriber.php

@@ -0,0 +1,26 @@
+<?php declare(strict_types=1);
+/*
+ * This file is part of PHPUnit.
+ *
+ * (c) Sebastian Bergmann <sebastian@phpunit.de>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\TestRunner\TestResult;
+
+use PHPUnit\Event\Test\AfterLastTestMethodErrored;
+use PHPUnit\Event\Test\AfterLastTestMethodErroredSubscriber;
+
+/**
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ *
+ * @internal This class is not covered by the backward compatibility promise for PHPUnit
+ */
+final class AfterTestClassMethodErroredSubscriber extends Subscriber implements AfterLastTestMethodErroredSubscriber
+{
+    public function notify(AfterLastTestMethodErrored $event): void
+    {
+        $this->collector()->afterTestClassMethodErrored($event);
+    }
+}

+ 32 - 0
vendor/phpunit/phpunit/src/TextUI/Exception/CannotOpenSocketException.php

@@ -0,0 +1,32 @@
+<?php declare(strict_types=1);
+/*
+ * This file is part of PHPUnit.
+ *
+ * (c) Sebastian Bergmann <sebastian@phpunit.de>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\TextUI;
+
+use function sprintf;
+use RuntimeException;
+
+/**
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ *
+ * @internal This class is not covered by the backward compatibility promise for PHPUnit
+ */
+final class CannotOpenSocketException extends RuntimeException implements Exception
+{
+    public function __construct(string $hostname, int $port)
+    {
+        parent::__construct(
+            sprintf(
+                'Cannot open socket %s:%d',
+                $hostname,
+                $port,
+            ),
+        );
+    }
+}

+ 23 - 0
vendor/phpunit/phpunit/src/Util/Http/Downloader.php

@@ -0,0 +1,23 @@
+<?php declare(strict_types=1);
+/*
+ * This file is part of PHPUnit.
+ *
+ * (c) Sebastian Bergmann <sebastian@phpunit.de>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\Util\Http;
+
+/**
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ *
+ * @internal This class is not covered by the backward compatibility promise for PHPUnit
+ */
+interface Downloader
+{
+    /**
+     * @param non-empty-string $url
+     */
+    public function download(string $url): false|string;
+}

+ 30 - 0
vendor/phpunit/phpunit/src/Util/Http/PhpDownloader.php

@@ -0,0 +1,30 @@
+<?php declare(strict_types=1);
+/*
+ * This file is part of PHPUnit.
+ *
+ * (c) Sebastian Bergmann <sebastian@phpunit.de>
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\Util\Http;
+
+use function file_get_contents;
+
+/**
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ *
+ * @internal This class is not covered by the backward compatibility promise for PHPUnit
+ *
+ * @codeCoverageIgnore
+ */
+final class PhpDownloader implements Downloader
+{
+    /**
+     * @param non-empty-string $url
+     */
+    public function download(string $url): false|string
+    {
+        return file_get_contents($url);
+    }
+}

+ 22 - 0
vendor/ramsey/collection/conventional-commits.json

@@ -0,0 +1,22 @@
+{
+    "typeCase": "kebab",
+    "types": [
+        "chore",
+        "ci",
+        "docs",
+        "feat",
+        "fix",
+        "refactor",
+        "security",
+        "style",
+        "test"
+    ],
+    "scopeCase": "kebab",
+    "scopeRequired": false,
+    "scopes": [],
+    "descriptionCase": null,
+    "descriptionEndMark": "",
+    "bodyRequired": false,
+    "bodyWrapWidth": 72,
+    "requiredFooters": []
+}

Kaikkia tiedostoja ei voida näyttää, sillä liian monta tiedostoa muuttui tässä diffissä