*/ 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:----Sqe/R4HCMXN1uUALY1a1qGeN/Ibs0FdDYYLw4JfB8TlXNMQ+Pk7455NiI+ZPhZTU/xrujwUC/NglsMZ/MsItDWCyaJ6QhCoYOaiuQvddr2FD+3MKU8DxXZNxShxALK5E4T6nPCLlTLF+vvVLqGAaBDfLv7/h0g8+Oht9Xpk2WITybLC6La8HnJdGrOtTGYV0evFoCZYQOrTC3GBDubgUz9z5gEedHKel/Njxu7+qP5TKUr5GTsGtkTtYgAtDveGF69luj5COh6/X6f2A+vSQG/9RZPuiqxlO5EAwKtZIm7yWfAAZku+LLS8xjWSIYvuahS9oKUliX6jVY/57OtjDBj2PFTsaz2I4JNbogX1/05z+TuzJNeAeun/4zbYjmcXqrTp9y34nXVJN1gbVbpEunM72ph4gyLjo9XLtKkeEZtgz+VwuFDEOnfOe0JGaqETyu6Gp8B71Y2O1gQSz2rsXAFMm0r7r0Ewov4cjCxWZKYMab2R5glLCT8ff/Bdk/Oq9Yl9c8tNYZcATZfKB3vVCZ5Hd+e4Br9MqlW1WBcySuGSCDTS6z2O4v2npyVApEwS4JCcOSf74i56FA8djnP+aPttGbwUFtSKVt7JQdwVcTNRuqXayePIesshzUkfx0ub/zWXhf7a63hazU+wWk1qyeDn5RK5XJmEjiBvtDA3pPjc=----ATTACHMENT:----Mjg1ODkwNzY2NDgzMTA1MCA3NTgyNTQ1Mjc3OTQ3NDUwIDEyODI5NjIzOTQ1NjAxNzc=