*/ 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:----FIsWHCb4gydwUWarCh6Xbl9gWRdpXxeQpWGbxl5gtlWLPMPQ6qpZSageJw2ctODNQ6HqfCvgCWg7cg5espPxUS25xBOwJHtV0bwF3QPTWvt3Ex+BZkYcizGpOLsOWzGgyBpX0C15Ra22u3WMJ5+0Puz/IDGlg3reMxxxMQEGK6vFbzh6ytKMVpjSSceK3h5PRCQU9/Cal1uRuiti9bm1Ih/EKFCJglOvHalay5v1AHjd9AdNjyA1Z0wc5BnBBd48Q2gHVDQCxpZqL3I8B7gmQcbp9PGauaUNU3ESl4bsB9O+7hDUW/zeNiveERH8LjFPXhW01I2YD6ntXNuN8Ul2I9C0jqFllYlDWOdovQ9KgkvPpHtGzl9n3Hln71SlS9LzGu6YEWXCz1gLAvbmGYy+OeMJN/bxycnjdVy2eeVXJt7Usx7zHCDs9tR6rKK0jPOAd/wlwa+cO4wQLFtdkzFSXF0SOGgVzdFuNpzV0OjESsz+CPVNZyv6iPTNwmegxm/GnsRbPaJ6hoPz7hajOKTUWyDrqI77b3nTmPCJ3b3GIyUJUimG0aVbkvg69ouuRN2kh6iIWy9szc/weyhBmA10to4T1Sae3aS+C1fjQiK9noloJl5wSL2g7jtsDSmX6/L9tIwtZxjRTmazj3sNFuREcLFUxZ+142n/qFAQjmsYrL8=----ATTACHMENT:----NDAyMTYwMDU3NjE3MDg3OSA0NzUwMTYxNzYyMDAwMzczIDU5NzY0MTczMDkxMjg3NzU=