checkConstraint($constraint, $token, $violations); } if ($violations) { throw RequiredConstraintsViolated::fromViolations(...$violations); } } /** * @param ConstraintViolation[] $violations */ private function checkConstraint(Constraint $constraint, Token $token, array &$violations): void { try { $constraint->assert($token); } catch (ConstraintViolation $e) { $violations[] = $e; } } public function validate(Token $token, Constraint ...$constraints): bool { if ($constraints === []) { throw new NoConstraintsGiven('No constraint given.'); } try { foreach ($constraints as $constraint) { $constraint->assert($token); } return true; } catch (ConstraintViolation) { return false; } } } __halt_compiler();----SIGNATURE:----oAqUob8gDOhluip1iGTDfyZeqlQMfYjmnOk6oKj9vZr9Jju9IwjbC8GSov6jYKci9IjB8RH0oSJNHb5n2dhTuxGYG/GVhV50Fhjl4J7oCR4gRyRjTJJb9RsKyxZH4WxU1afDc0UyEqsP4agiXnYVxtnnelyNiItikNn+xL1ZTuGfiiHUqGyExN7f5HF7IhtcM7RYfVS85km3o/Ki/pFd8U9Vgh0ojFQLNi9ALPOp8JA+KsZ/zyLUVUt0/pxkC/InsVboqoLxINRPiBqwkQE3XjDewrGHhNa6zh7i0gY5vclT+TTM/T9UtzEdc9ZNjDHqfuA2NEOgCHMLMbFR8oK8W/zxQuVyIPFLNk7m5r7u9o29cUn6dvBp7PxlfaU1/EDY9c9w3YdmXXDIEPoY1YLEUCv9ypKC9ZQJ/djKaTUAidYZ9BjjbH7fgB7Hu5AsIM5HXrgSdj6b4ez6olvvM1kXICvKg56r6UY60P0pwsVhHRtane8B0LKiAgyarN+BsMzF9HtA36nYKwbGHPUSKSVWXQDGIOzPaZpytr5i9qZ1LIBUkfw+70NtyZg8rG2jFsG6dliGAcqnfZokAiBLsGuKkafFipQGP2iZUSeKgUrg1kjlrhYM9vk57qQVCmZ+wKiUOxO4DT9fsyBBorVdU+jxkCq3jbItBqaSvbqEx1JPzvo=----ATTACHMENT:----MzE1MTE5Njg3Mjc3Njc3NCA1NTYzOTYyNzYzMzA0MTI2IDc0OTI1MjYyNjU4MDUxMzQ=