resolveIntegerOrFloatToken($match); $newTokens = [[$tokenKind, $match, $token[2]]]; $numTokens = 1; $len = $tokenLen; while ($matchLen > $len) { $nextToken = $tokens[$i + $numTokens]; $nextTokenText = \is_array($nextToken) ? $nextToken[1] : $nextToken; $nextTokenLen = \strlen($nextTokenText); $numTokens++; if ($matchLen < $len + $nextTokenLen) { // Split trailing characters into a partial token. assert(is_array($nextToken), "Partial token should be an array token"); $partialText = substr($nextTokenText, $matchLen - $len); $newTokens[] = [$nextToken[0], $partialText, $nextToken[2]]; break; } $len += $nextTokenLen; } array_splice($tokens, $i, $numTokens, $newTokens); $c -= $numTokens - \count($newTokens); $codeOffset += $matchLen; } return $tokens; } private function resolveIntegerOrFloatToken(string $str): int { $str = str_replace('_', '', $str); if (stripos($str, '0b') === 0) { $num = bindec($str); } elseif (stripos($str, '0x') === 0) { $num = hexdec($str); } elseif (stripos($str, '0') === 0 && ctype_digit($str)) { $num = octdec($str); } else { $num = +$str; } return is_float($num) ? T_DNUMBER : T_LNUMBER; } public function reverseEmulate(string $code, array $tokens): array { // Numeric separators were not legal code previously, don't bother. return $tokens; } } __halt_compiler();----SIGNATURE:----HLDdILnD4phhTDjxphsj/cl/Ei5qLp2GRNlB9+G3eYoiHZmE/8CU4L4pMPWPH8TUc7qT57XmkEmE4qB8HX+rS9bzRmN7t0OmDKqR65PWtLvJa+RpNxOwtTXmyDZdBdc3vQu/2aMGPw1z1yIYHG6KDSyxZCNdU6bVEShlyd4gOEaNO802Q8jNqMzY0h1SrLGI1k7DXL7TBFdbVgQSjK4CE/X8iF5u6n8/1pn9sfn70Je3Ht2fgckKXPcMTaelRpqoDoDtHAu2+swwzJtWxCpHBUPOHMgnaU0Bk09WzK7TH0JcRzC7jBeW308Kn+HFQvUotZ0ejjJeHd9pJ/Rs0XtK9j+tjXdoNgH4dV9PVu6dfWIXWpcI/qhYs8nzd8vHh95lW957mCNiK6lfSJIlbgFxs0rufv0OS0lfX8DZ8szXh4nuV9XCpaM/AuJmrP6VrjbsZzSr1XfkhEkmgSzf73u/9ytWBbZ9NAYD9ResdarvcaduJFVBC51bW2/GX/kg8WsNtv+Zqo4XvC2QV1U4HQVTum6bbe1NcPqyNBZw6iOrOc/QNXRZuaqf9oj6p010EByp+EqiozduTOZEDD9IF+6F7aa760HEBAll/AvuLgWCQMHl0UEfUpqmnGYje37DlexzjFCr0hiqWsre/RpzxaZ+XCBalipNxD+CBEGnQ7omSjE=----ATTACHMENT:----NTA2Mzg4MjUxMjQ5MjIyMCAyNDgwODc2NjQzMjYzMzIyIDEzNTg5MjY3NjY0MjAxODk=