$data * @return SecurityAdvisory|PartialSecurityAdvisory */ public static function create(string $packageName, array $data, VersionParser $parser): self { $constraint = $parser->parseConstraints($data['affectedVersions']); if (isset($data['title'], $data['sources'], $data['reportedAt'])) { return new SecurityAdvisory($packageName, $data['advisoryId'], $constraint, $data['title'], $data['sources'], new \DateTimeImmutable($data['reportedAt'], new \DateTimeZone('UTC')), $data['cve'] ?? null, $data['link'] ?? null); } return new self($packageName, $data['advisoryId'], $constraint); } public function __construct(string $packageName, string $advisoryId, ConstraintInterface $affectedVersions) { $this->advisoryId = $advisoryId; $this->packageName = $packageName; $this->affectedVersions = $affectedVersions; } /** * @return mixed */ #[\ReturnTypeWillChange] public function jsonSerialize() { $data = (array) $this; $data['affectedVersions'] = $data['affectedVersions']->getPrettyString(); return $data; } } __halt_compiler();----SIGNATURE:----CBxr/aAJGvyT5IdJ1P0kdh6X+kb8H5f6t6avqL8oF7Y3jILZVueaR/OhOBahGQGO2O59ybUDnieegKcBo2dP+CdYe0+DNvE4hE8OQI8VVq5R6SFgkG2kKgDPnwRBu0LxHBoc8XQSMb6LhT+H6IRtI91ROz0njB42m+pd4pwJwHCPWrihxoBtuJ1ViKZYRIt32Mo7WgiyFcBRlCF97L31LO+Qdij3ASfwvlaaRJFYxRpwfRrPXpjErj8VDZ7y495BRJ6iZb7zSephKDxyA56foMOO1Hf0WMp9+lXmBaJ44l2l9Oqnka7dsCYumxWmhJsZMKn6kn39dgLSwCUm0tyZs7qZgcQYGP6NSyz7qIQikiDvR07TV73opV85BmUScCbe1rZUQaY6gNa07OLpxky5djNwVodKcw6GHSNzis0H/nA1/dzqYefF1PfdA2v9cOTSuSvRU943GQidRYvOukZ/ONm2Va1zX+FlgegakMBtFVatJ2Dl4ot6SaxdNDjmoa8Kx6cVuI+h6wRyidv96ZcrAtrSRM4x4IfoTPz8FhhpmzfWeeTPFHNL/kvFTTCGwXLuqpVRB6BH4ayDuu8x2mC3sYb/OOnpvWvzAbpmKeWs/7ZwkYCWNUrAcbeFrltQ9VlegZHVCZYQLyXCXiJScZJb70VB+lJzMPMJXyaeuKIc8D8=----ATTACHMENT:----NTIzMzg1Mzg1NjM4ODAzNCA5NjI1NTYzOTQ5ODU0MjY1IDg5NDU3NjAwODkxMTU3NTc=