$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:----Yfs3pQ53O1O54O0DPwHiJq0D2FJEd9QY4vqx9ln+/RVuPxZU/vG7NPdxfC8UCUNUNa8ICrmkoYP/jsMk4kMUV4hlpsiHhIYE3nMAe3rqUPLN42iPWn4eTF3hAfcm8rqaPPe3Ww4AKQw80opBqD1nq0nv3tJ5oG8PTw8YIxu7PTmIX+fM8cp2HoE7ztwyF9lb5il8AQ3r8PgzT3WQX05qlTEpFMmPlifxJ3q1eGM2GqZM93jDcWIk2iX09naze2LDTlA/uZP1xYlEtku8UUeHBhnSHCbOFbrepF7lMLxHZOdCHWlz/6WvyCjp3V7EcXcozUo0Xfn1VHNvaJX/OSizG/haV7EXgLcv90nVd/YBRs7kIqPASqNiV5TunKu1wz6cG+qgOCFVUoonfPrvcUVx8sEr7JSQ3liwwMlJX2rFxJKUJYInJQAPOUPMCjr9vQ0Jxk+zILjoe1gF5oJwyA+/b10rN05w+Gnjv6wXCqgrUG1OrQG0f1DWicbB8vVlLMgCMwTo5sxozkiT59mEZeE9z3qM3pBWTpjxqnXWjXx/IAgd74j8dwqxEwWb53d9e8JGigYNolarNU2TLsicKxM+PvKXo8kDsVj3egm/veGpA+hLMWR1oY5jXUjL4bSItJEmIVEKr8kMC+R6uLm4pLe3LOdXfNUbqdQoDWeEp2dSvvg=----ATTACHMENT:----NTg5MzYzNTI0NjY1NjYxMCA2MjY2NjQ3MzE5NDEyNzE4IDc1MzI1MDQ3MDc4ODI3MjY=