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:----CrDHOQNadoTwVpR5YVb0EEaKMdkc/Z/3uQ0GwnfvsxSK7KC2aS+CmW0rYt18xfFUxNeHx0ye6xe8/Z1FP9eqRTJ+XjW66ygIrAgAbUvPUMq+cZyxdwoiCx+z0RYk0rSZ0R5Ye7N3D3wPJrip7FNm2FZ/6BJ9RiB9aPOdqNVoOpqenJTu1RNYEdWXlsDDempZs5ZpkSFC/otKQc57l45qzMCJEw6WLxRpjGT1H4l5JD1Ln1sZfvgL68weIgbLxskQIgoHdWWMvt6EO/mTqiOHqTwdM4r1PYKnfkS/Qdxg7QOJfTxz4bSbvgzHr2ZDUbFeTUBoN7MWR1PikUo+7lB/d3UiRsFzNB/7DkZ4C21hNqC7AWGBpnTeleOrpIlY8PAVybuLHiBCCJ4N9KY0sNFBQo3lmimvpdBd/TAEI1mGGpBsOMd5SWD7GDIrT9CvZfgoclDOXxWQcrc1nqMp5YqkhGllMQZxYTAt1zwlqSR4pe82Htw+o8kCh+MsXcPUWQXZsYUh5Qg0dVHWca5yBeFbw/m9lVK5C8x290HWAKvJzpWdLZz6bYe4hFj5Eeeend7iUqrTMOPAkILQgl15BtlxBSC863TEiroRABpYyo1fcGhqaCTn2SLW5ySqPvqa/RCxvf8I9sVa1df6KvWJMFjYi3vBpPwFexcc45pBsMT4FDI=----ATTACHMENT:----NzI3NDA1NTYwODE4NzcxMiAxODAzNzUyMDk1MzM1MDUwIDY5NzU2NDQ3NDkyNTUxMA==