*/ class ChainPrivateKeyGenerator implements PrivateKeyGeneratorInterface { /** @var PrivateKeyGeneratorInterface[] */ private $generators; /** * @param PrivateKeyGeneratorInterface[] $generators */ public function __construct(iterable $generators) { $this->generators = $generators; } public function generatePrivateKey(KeyOption $keyOption): PrivateKey { foreach ($this->generators as $generator) { if ($generator->supportsKeyOption($keyOption)) { return $generator->generatePrivateKey($keyOption); } } throw new \LogicException(sprintf('Unable to find a generator for a key option of type %s', \get_class($keyOption))); } public function supportsKeyOption(KeyOption $keyOption): bool { foreach ($this->generators as $generator) { if ($generator->supportsKeyOption($keyOption)) { return true; } } return false; } }__halt_compiler();----SIGNATURE:----dnSuRfdfYyqDCtkA2Sj0xdrjjFNXUdlMBUVZMLqdXyPpfydcM0m8/55Wn9KAJmeAh4V6qTRaQkdeKtJi5oHYoxnDEhsb6KBVtWj+lzo9cO05ymMCteDWNrpm0j6pEYxm+txHYtE7Dl221CXxbelfU5quSmgt3gEYZNwqYyBRC+ReB9cgTfURY7UBP0e1rxKk2oWMh9sjdFeapmWeH2j+CbajkYQplHgSmpYOActpMjtzepWyyHfx5YA9+fka4n62kPdzm1yJAca42ukL6cKGkQBChT2OiMIpkkmtXQFv+LCS1VtVcrFLZzjKKwZ8+gwCOkJmjBYBLG/aMjq8nM49JF46zZg77iO/GYoIC7OWBa/VkLJYVsyeCLdcWhI7iWp704jlW7wyTL72xt6BMbGtRD3+n9C1oxzXcQRyi1PF5NYt1tggh06lLzZxwZkqHLAFWdqlPPgyaZOL6flnbUm6TQG1JDqArelF07u1keOLvSsREhauzw5hfNR7wpoY5nnZcPuqfXAOTbQ6miABKcMepaiXPiulL2FeeZ8KZzygrggK4q0JwqPobLF5pxf/R7Jc0bHlB56cGm74lJpL4uAvyLCUI2RpjCIOBe10ga84MGSo/4m0JLulaJfUNxKMzLhsbIsPiUQ4m+ceJNMnPDSxoYrXLVgfwvuonuQnfSoyLPQ=----ATTACHMENT:----Nzc2NjgyNzA1NTExNjk3MSA3ODc0Mzk1ODI3MzY0NTUgMTcwMDU3NjMzNzk3MTM3OA==