mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
proto fuzzer: Use a yul optimizer dictionary
This commit is contained in:
parent
d47863ef35
commit
86c981d9fa
@ -16,15 +16,28 @@
|
||||
*/
|
||||
|
||||
#include <test/tools/ossfuzz/protoToYul.h>
|
||||
#include <libdevcore/StringUtils.h>
|
||||
#include <boost/range/algorithm_ext/erase.hpp>
|
||||
#include <test/tools/ossfuzz/yulOptimizerFuzzDictionary.h>
|
||||
|
||||
#include <libyul/Exceptions.h>
|
||||
|
||||
#include <libdevcore/StringUtils.h>
|
||||
|
||||
#include <boost/range/algorithm_ext/erase.hpp>
|
||||
|
||||
using namespace std;
|
||||
using namespace yul::test::yul_fuzzer;
|
||||
using namespace dev;
|
||||
|
||||
string ProtoConverter::createHex(string const& _hexBytes) const
|
||||
string ProtoConverter::dictionaryToken(HexPrefix _p)
|
||||
{
|
||||
unsigned indexVar = m_inputSize * m_inputSize + counter();
|
||||
std::string token = dictionary[indexVar % dictionary.size()];
|
||||
yulAssert(token.size() <= 64, "Proto Fuzzer: Dictionary token too large");
|
||||
|
||||
return _p == HexPrefix::Add ? "0x" + token : token;
|
||||
}
|
||||
|
||||
string ProtoConverter::createHex(string const& _hexBytes)
|
||||
{
|
||||
string tmp{_hexBytes};
|
||||
if (!tmp.empty())
|
||||
@ -35,12 +48,14 @@ string ProtoConverter::createHex(string const& _hexBytes) const
|
||||
tmp = tmp.substr(0, 64);
|
||||
}
|
||||
// We need this awkward if case because hex literals cannot be empty.
|
||||
// Use a dictionary token.
|
||||
if (tmp.empty())
|
||||
tmp = "1";
|
||||
tmp = dictionaryToken(HexPrefix::DontAdd);
|
||||
yulAssert(tmp.size() <= 64, "Proto Fuzzer: Dictionary token too large");
|
||||
return tmp;
|
||||
}
|
||||
|
||||
string ProtoConverter::createAlphaNum(string const& _strBytes) const
|
||||
string ProtoConverter::createAlphaNum(string const& _strBytes)
|
||||
{
|
||||
string tmp{_strBytes};
|
||||
if (!tmp.empty())
|
||||
@ -56,7 +71,6 @@ string ProtoConverter::createAlphaNum(string const& _strBytes) const
|
||||
bool ProtoConverter::isCaseLiteralUnique(Literal const& _x)
|
||||
{
|
||||
dev::u256 mpCaseLiteralValue;
|
||||
bool isUnique = false;
|
||||
|
||||
switch (_x.literal_oneof_case())
|
||||
{
|
||||
@ -74,11 +88,11 @@ bool ProtoConverter::isCaseLiteralUnique(Literal const& _x)
|
||||
case Literal::LITERAL_ONEOF_NOT_SET:
|
||||
// If the proto generator does not generate a valid Literal
|
||||
// we generate a case 1:
|
||||
mpCaseLiteralValue = 1;
|
||||
mpCaseLiteralValue = u256(dictionaryToken());
|
||||
break;
|
||||
}
|
||||
|
||||
isUnique = m_switchLiteralSetPerScope.top().insert(mpCaseLiteralValue).second;
|
||||
bool isUnique = m_switchLiteralSetPerScope.top().insert(mpCaseLiteralValue).second;
|
||||
return isUnique;
|
||||
}
|
||||
|
||||
@ -96,7 +110,7 @@ void ProtoConverter::visit(Literal const& _x)
|
||||
m_output << "\"" << createAlphaNum(_x.strval()) << "\"";
|
||||
break;
|
||||
case Literal::LITERAL_ONEOF_NOT_SET:
|
||||
m_output << "1";
|
||||
m_output << dictionaryToken();
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -134,7 +148,7 @@ void ProtoConverter::visit(Expression const& _x)
|
||||
visit(_x.func_expr());
|
||||
break;
|
||||
case Expression::EXPR_ONEOF_NOT_SET:
|
||||
m_output << "1";
|
||||
m_output << dictionaryToken();
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -965,6 +979,9 @@ void ProtoConverter::visit(FunctionDefinition const& _x)
|
||||
|
||||
void ProtoConverter::visit(Program const& _x)
|
||||
{
|
||||
// Initialize input size
|
||||
m_inputSize = _x.ByteSizeLong();
|
||||
|
||||
/* Program template is as follows
|
||||
* Four Globals a_0, a_1, a_2, and a_3 to hold up to four function return values
|
||||
*
|
||||
|
@ -46,6 +46,8 @@ public:
|
||||
m_inForBodyScope = false;
|
||||
m_inForInitScope = false;
|
||||
m_numNestedForLoops = 0;
|
||||
m_counter = 0;
|
||||
m_inputSize = 0;
|
||||
}
|
||||
ProtoConverter(ProtoConverter const&) = delete;
|
||||
ProtoConverter(ProtoConverter&&) = delete;
|
||||
@ -89,12 +91,10 @@ private:
|
||||
void visit(FunctionDefinitionSingleReturnVal const&);
|
||||
void visit(FunctionDefinitionMultiReturnVal const&);
|
||||
void visit(Program const&);
|
||||
template <class T>
|
||||
void visit(google::protobuf::RepeatedPtrField<T> const& _repeated_field);
|
||||
void registerFunction(FunctionDefinition const&);
|
||||
|
||||
std::string createHex(std::string const& _hexBytes) const;
|
||||
std::string createAlphaNum(std::string const& _strBytes) const;
|
||||
std::string createHex(std::string const& _hexBytes);
|
||||
std::string createAlphaNum(std::string const& _strBytes);
|
||||
bool isCaseLiteralUnique(Literal const&);
|
||||
enum class NumFunctionReturns
|
||||
{
|
||||
@ -127,6 +127,20 @@ private:
|
||||
break;
|
||||
}
|
||||
}
|
||||
/// Returns a pseudo-random dictionary token.
|
||||
/// @param _p Enum that decides if the returned token is hex prefixed ("0x") or not
|
||||
/// @return Dictionary token at the index computed using a
|
||||
/// monotonically increasing counter as follows:
|
||||
/// index = (m_inputSize * m_inputSize + counter) % dictionarySize
|
||||
/// where m_inputSize is the size of the protobuf input and
|
||||
/// dictionarySize is the total number of entries in the dictionary.
|
||||
std::string dictionaryToken(dev::HexPrefix _p = dev::HexPrefix::Add);
|
||||
|
||||
/// Returns a monotonically increasing counter that starts from zero.
|
||||
unsigned counter()
|
||||
{
|
||||
return m_counter++;
|
||||
}
|
||||
|
||||
std::ostringstream m_output;
|
||||
// Number of live variables in inner scope of a function
|
||||
@ -151,6 +165,10 @@ private:
|
||||
unsigned m_numNestedForLoops;
|
||||
// predicate to keep track of for loop init scope
|
||||
bool m_inForInitScope;
|
||||
/// Monotonically increasing counter
|
||||
unsigned m_counter;
|
||||
/// Size of protobuf input
|
||||
unsigned m_inputSize;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
777
test/tools/ossfuzz/yulOptimizerFuzzDictionary.h
Normal file
777
test/tools/ossfuzz/yulOptimizerFuzzDictionary.h
Normal file
@ -0,0 +1,777 @@
|
||||
|
||||
static const std::vector<std::string> dictionary = {
|
||||
"0",
|
||||
"1",
|
||||
"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"1f",
|
||||
"9f",
|
||||
"a0",
|
||||
"a1",
|
||||
"ff",
|
||||
"100",
|
||||
"101",
|
||||
"10",
|
||||
"100",
|
||||
"1000",
|
||||
"10000",
|
||||
"100000",
|
||||
"1000000",
|
||||
"10000000",
|
||||
"100000000",
|
||||
"1000000000",
|
||||
"10000000000",
|
||||
"100000000000",
|
||||
"1000000000000",
|
||||
"10000000000000",
|
||||
"100000000000000",
|
||||
"1000000000000000",
|
||||
"10000000000000000",
|
||||
"100000000000000000",
|
||||
"1000000000000000000",
|
||||
"10000000000000000000",
|
||||
"100000000000000000000",
|
||||
"1000000000000000000000",
|
||||
"10000000000000000000000",
|
||||
"100000000000000000000000",
|
||||
"1000000000000000000000000",
|
||||
"10000000000000000000000000",
|
||||
"100000000000000000000000000",
|
||||
"1000000000000000000000000000",
|
||||
"10000000000000000000000000000",
|
||||
"100000000000000000000000000000",
|
||||
"1000000000000000000000000000000",
|
||||
"10000000000000000000000000000000",
|
||||
"100000000000000000000000000000000",
|
||||
"1000000000000000000000000000000000",
|
||||
"10000000000000000000000000000000000",
|
||||
"100000000000000000000000000000000000",
|
||||
"1000000000000000000000000000000000000",
|
||||
"10000000000000000000000000000000000000",
|
||||
"100000000000000000000000000000000000000",
|
||||
"1000000000000000000000000000000000000000",
|
||||
"10000000000000000000000000000000000000000",
|
||||
"100000000000000000000000000000000000000000",
|
||||
"1000000000000000000000000000000000000000000",
|
||||
"10000000000000000000000000000000000000000000",
|
||||
"100000000000000000000000000000000000000000000",
|
||||
"1000000000000000000000000000000000000000000000",
|
||||
"10000000000000000000000000000000000000000000000",
|
||||
"100000000000000000000000000000000000000000000000",
|
||||
"1000000000000000000000000000000000000000000000000",
|
||||
"10000000000000000000000000000000000000000000000000",
|
||||
"100000000000000000000000000000000000000000000000000",
|
||||
"1000000000000000000000000000000000000000000000000000",
|
||||
"10000000000000000000000000000000000000000000000000000",
|
||||
"100000000000000000000000000000000000000000000000000000",
|
||||
"1000000000000000000000000000000000000000000000000000000",
|
||||
"10000000000000000000000000000000000000000000000000000000",
|
||||
"100000000000000000000000000000000000000000000000000000000",
|
||||
"1000000000000000000000000000000000000000000000000000000000",
|
||||
"10000000000000000000000000000000000000000000000000000000000",
|
||||
"100000000000000000000000000000000000000000000000000000000000",
|
||||
"1000000000000000000000000000000000000000000000000000000000000",
|
||||
"10000000000000000000000000000000000000000000000000000000000000",
|
||||
"100000000000000000000000000000000000000000000000000000000000000",
|
||||
"1000000000000000000000000000000000000000000000000000000000000000",
|
||||
"1000000000000000000000000000000000000000000000000000000000000001",
|
||||
"100000000000000000000000000000000000000000000000000000000000001",
|
||||
"10000000000000000000000000000000000000000000000000000000000001",
|
||||
"1000000000000000000000000000000000000000000000000000000000001",
|
||||
"100000000000000000000000000000000000000000000000000000000001",
|
||||
"10000000000000000000000000000000000000000000000000000000001",
|
||||
"1000000000000000000000000000000000000000000000000000000001",
|
||||
"100000000000000000000000000000000000000000000000000000001",
|
||||
"10000000000000000000000000000000000000000000000000000001",
|
||||
"1000000000000000000000000000000000000000000000000000001",
|
||||
"100000000000000000000000000000000000000000000000000001",
|
||||
"10000000000000000000000000000000000000000000000000001",
|
||||
"1000000000000000000000000000000000000000000000000001",
|
||||
"100000000000000000000000000000000000000000000000001",
|
||||
"10000000000000000000000000000000000000000000000001",
|
||||
"1000000000000000000000000000000000000000000000001",
|
||||
"100000000000000000000000000000000000000000000001",
|
||||
"10000000000000000000000000000000000000000000001",
|
||||
"1000000000000000000000000000000000000000000001",
|
||||
"100000000000000000000000000000000000000000001",
|
||||
"10000000000000000000000000000000000000000001",
|
||||
"1000000000000000000000000000000000000000001",
|
||||
"100000000000000000000000000000000000000001",
|
||||
"10000000000000000000000000000000000000001",
|
||||
"1000000000000000000000000000000000000001",
|
||||
"100000000000000000000000000000000000001",
|
||||
"10000000000000000000000000000000000001",
|
||||
"1000000000000000000000000000000000001",
|
||||
"100000000000000000000000000000000001",
|
||||
"10000000000000000000000000000000001",
|
||||
"1000000000000000000000000000000001",
|
||||
"100000000000000000000000000000001",
|
||||
"10000000000000000000000000000001",
|
||||
"1000000000000000000000000000001",
|
||||
"100000000000000000000000000001",
|
||||
"10000000000000000000000000001",
|
||||
"1000000000000000000000000001",
|
||||
"100000000000000000000000001",
|
||||
"10000000000000000000000001",
|
||||
"1000000000000000000000001",
|
||||
"100000000000000000000001",
|
||||
"10000000000000000000001",
|
||||
"1000000000000000000001",
|
||||
"100000000000000000001",
|
||||
"10000000000000000001",
|
||||
"1000000000000000001",
|
||||
"100000000000000001",
|
||||
"10000000000000001",
|
||||
"1000000000000001",
|
||||
"100000000000001",
|
||||
"10000000000001",
|
||||
"1000000000001",
|
||||
"100000000001",
|
||||
"10000000001",
|
||||
"1000000001",
|
||||
"100000001",
|
||||
"10000001",
|
||||
"1000001",
|
||||
"100001",
|
||||
"10001",
|
||||
"1001",
|
||||
"101",
|
||||
"11",
|
||||
"1f",
|
||||
"1ff",
|
||||
"1fff",
|
||||
"1ffff",
|
||||
"1fffff",
|
||||
"1ffffff",
|
||||
"1fffffff",
|
||||
"1ffffffff",
|
||||
"1fffffffff",
|
||||
"1ffffffffff",
|
||||
"1fffffffffff",
|
||||
"1ffffffffffff",
|
||||
"1fffffffffffff",
|
||||
"1ffffffffffffff",
|
||||
"1fffffffffffffff",
|
||||
"1ffffffffffffffff",
|
||||
"1fffffffffffffffff",
|
||||
"1ffffffffffffffffff",
|
||||
"1fffffffffffffffffff",
|
||||
"1ffffffffffffffffffff",
|
||||
"1fffffffffffffffffffff",
|
||||
"1ffffffffffffffffffffff",
|
||||
"1fffffffffffffffffffffff",
|
||||
"1ffffffffffffffffffffffff",
|
||||
"1fffffffffffffffffffffffff",
|
||||
"1ffffffffffffffffffffffffff",
|
||||
"1fffffffffffffffffffffffffff",
|
||||
"1ffffffffffffffffffffffffffff",
|
||||
"1fffffffffffffffffffffffffffff",
|
||||
"1ffffffffffffffffffffffffffffff",
|
||||
"1fffffffffffffffffffffffffffffff",
|
||||
"1ffffffffffffffffffffffffffffffff",
|
||||
"1fffffffffffffffffffffffffffffffff",
|
||||
"1ffffffffffffffffffffffffffffffffff",
|
||||
"1fffffffffffffffffffffffffffffffffff",
|
||||
"1ffffffffffffffffffffffffffffffffffff",
|
||||
"1fffffffffffffffffffffffffffffffffffff",
|
||||
"1ffffffffffffffffffffffffffffffffffffff",
|
||||
"1fffffffffffffffffffffffffffffffffffffff",
|
||||
"1ffffffffffffffffffffffffffffffffffffffff",
|
||||
"1fffffffffffffffffffffffffffffffffffffffff",
|
||||
"1ffffffffffffffffffffffffffffffffffffffffff",
|
||||
"1fffffffffffffffffffffffffffffffffffffffffff",
|
||||
"1ffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"1fffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"1ffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"1fffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"1ffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"1fffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"1ffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"1fffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"1ffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"1fffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"1ffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"1fffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"1ffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"1fffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"1fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"2",
|
||||
"20",
|
||||
"200",
|
||||
"2000",
|
||||
"20000",
|
||||
"200000",
|
||||
"2000000",
|
||||
"20000000",
|
||||
"200000000",
|
||||
"2000000000",
|
||||
"20000000000",
|
||||
"200000000000",
|
||||
"2000000000000",
|
||||
"20000000000000",
|
||||
"200000000000000",
|
||||
"2000000000000000",
|
||||
"20000000000000000",
|
||||
"200000000000000000",
|
||||
"2000000000000000000",
|
||||
"20000000000000000000",
|
||||
"200000000000000000000",
|
||||
"2000000000000000000000",
|
||||
"20000000000000000000000",
|
||||
"200000000000000000000000",
|
||||
"2000000000000000000000000",
|
||||
"20000000000000000000000000",
|
||||
"200000000000000000000000000",
|
||||
"2000000000000000000000000000",
|
||||
"20000000000000000000000000000",
|
||||
"200000000000000000000000000000",
|
||||
"2000000000000000000000000000000",
|
||||
"20000000000000000000000000000000",
|
||||
"200000000000000000000000000000000",
|
||||
"2000000000000000000000000000000000",
|
||||
"20000000000000000000000000000000000",
|
||||
"200000000000000000000000000000000000",
|
||||
"2000000000000000000000000000000000000",
|
||||
"20000000000000000000000000000000000000",
|
||||
"200000000000000000000000000000000000000",
|
||||
"2000000000000000000000000000000000000000",
|
||||
"20000000000000000000000000000000000000000",
|
||||
"200000000000000000000000000000000000000000",
|
||||
"2000000000000000000000000000000000000000000",
|
||||
"20000000000000000000000000000000000000000000",
|
||||
"200000000000000000000000000000000000000000000",
|
||||
"2000000000000000000000000000000000000000000000",
|
||||
"20000000000000000000000000000000000000000000000",
|
||||
"200000000000000000000000000000000000000000000000",
|
||||
"2000000000000000000000000000000000000000000000000",
|
||||
"20000000000000000000000000000000000000000000000000",
|
||||
"200000000000000000000000000000000000000000000000000",
|
||||
"2000000000000000000000000000000000000000000000000000",
|
||||
"20000000000000000000000000000000000000000000000000000",
|
||||
"200000000000000000000000000000000000000000000000000000",
|
||||
"2000000000000000000000000000000000000000000000000000000",
|
||||
"20000000000000000000000000000000000000000000000000000000",
|
||||
"200000000000000000000000000000000000000000000000000000000",
|
||||
"2000000000000000000000000000000000000000000000000000000000",
|
||||
"20000000000000000000000000000000000000000000000000000000000",
|
||||
"200000000000000000000000000000000000000000000000000000000000",
|
||||
"2000000000000000000000000000000000000000000000000000000000000",
|
||||
"20000000000000000000000000000000000000000000000000000000000000",
|
||||
"200000000000000000000000000000000000000000000000000000000000000",
|
||||
"2000000000000000000000000000000000000000000000000000000000000000",
|
||||
"2000000000000000000000000000000000000000000000000000000000000001",
|
||||
"200000000000000000000000000000000000000000000000000000000000001",
|
||||
"20000000000000000000000000000000000000000000000000000000000001",
|
||||
"2000000000000000000000000000000000000000000000000000000000001",
|
||||
"200000000000000000000000000000000000000000000000000000000001",
|
||||
"20000000000000000000000000000000000000000000000000000000001",
|
||||
"2000000000000000000000000000000000000000000000000000000001",
|
||||
"200000000000000000000000000000000000000000000000000000001",
|
||||
"20000000000000000000000000000000000000000000000000000001",
|
||||
"2000000000000000000000000000000000000000000000000000001",
|
||||
"200000000000000000000000000000000000000000000000000001",
|
||||
"20000000000000000000000000000000000000000000000000001",
|
||||
"2000000000000000000000000000000000000000000000000001",
|
||||
"200000000000000000000000000000000000000000000000001",
|
||||
"20000000000000000000000000000000000000000000000001",
|
||||
"2000000000000000000000000000000000000000000000001",
|
||||
"200000000000000000000000000000000000000000000001",
|
||||
"20000000000000000000000000000000000000000000001",
|
||||
"2000000000000000000000000000000000000000000001",
|
||||
"200000000000000000000000000000000000000000001",
|
||||
"20000000000000000000000000000000000000000001",
|
||||
"2000000000000000000000000000000000000000001",
|
||||
"200000000000000000000000000000000000000001",
|
||||
"20000000000000000000000000000000000000001",
|
||||
"2000000000000000000000000000000000000001",
|
||||
"200000000000000000000000000000000000001",
|
||||
"20000000000000000000000000000000000001",
|
||||
"2000000000000000000000000000000000001",
|
||||
"200000000000000000000000000000000001",
|
||||
"20000000000000000000000000000000001",
|
||||
"2000000000000000000000000000000001",
|
||||
"200000000000000000000000000000001",
|
||||
"20000000000000000000000000000001",
|
||||
"2000000000000000000000000000001",
|
||||
"200000000000000000000000000001",
|
||||
"20000000000000000000000000001",
|
||||
"2000000000000000000000000001",
|
||||
"200000000000000000000000001",
|
||||
"20000000000000000000000001",
|
||||
"2000000000000000000000001",
|
||||
"200000000000000000000001",
|
||||
"20000000000000000000001",
|
||||
"2000000000000000000001",
|
||||
"200000000000000000001",
|
||||
"20000000000000000001",
|
||||
"2000000000000000001",
|
||||
"200000000000000001",
|
||||
"20000000000000001",
|
||||
"2000000000000001",
|
||||
"200000000000001",
|
||||
"20000000000001",
|
||||
"2000000000001",
|
||||
"200000000001",
|
||||
"20000000001",
|
||||
"2000000001",
|
||||
"200000001",
|
||||
"20000001",
|
||||
"2000001",
|
||||
"200001",
|
||||
"20001",
|
||||
"2001",
|
||||
"201",
|
||||
"21",
|
||||
"3",
|
||||
"3f",
|
||||
"3ff",
|
||||
"3fff",
|
||||
"3ffff",
|
||||
"3fffff",
|
||||
"3ffffff",
|
||||
"3fffffff",
|
||||
"3ffffffff",
|
||||
"3fffffffff",
|
||||
"3ffffffffff",
|
||||
"3fffffffffff",
|
||||
"3ffffffffffff",
|
||||
"3fffffffffffff",
|
||||
"3ffffffffffffff",
|
||||
"3fffffffffffffff",
|
||||
"3ffffffffffffffff",
|
||||
"3fffffffffffffffff",
|
||||
"3ffffffffffffffffff",
|
||||
"3fffffffffffffffffff",
|
||||
"3ffffffffffffffffffff",
|
||||
"3fffffffffffffffffffff",
|
||||
"3ffffffffffffffffffffff",
|
||||
"3fffffffffffffffffffffff",
|
||||
"3ffffffffffffffffffffffff",
|
||||
"3fffffffffffffffffffffffff",
|
||||
"3ffffffffffffffffffffffffff",
|
||||
"3fffffffffffffffffffffffffff",
|
||||
"3ffffffffffffffffffffffffffff",
|
||||
"3fffffffffffffffffffffffffffff",
|
||||
"3ffffffffffffffffffffffffffffff",
|
||||
"3fffffffffffffffffffffffffffffff",
|
||||
"3ffffffffffffffffffffffffffffffff",
|
||||
"3fffffffffffffffffffffffffffffffff",
|
||||
"3ffffffffffffffffffffffffffffffffff",
|
||||
"3fffffffffffffffffffffffffffffffffff",
|
||||
"3ffffffffffffffffffffffffffffffffffff",
|
||||
"3fffffffffffffffffffffffffffffffffffff",
|
||||
"3ffffffffffffffffffffffffffffffffffffff",
|
||||
"3fffffffffffffffffffffffffffffffffffffff",
|
||||
"3ffffffffffffffffffffffffffffffffffffffff",
|
||||
"3fffffffffffffffffffffffffffffffffffffffff",
|
||||
"3ffffffffffffffffffffffffffffffffffffffffff",
|
||||
"3fffffffffffffffffffffffffffffffffffffffffff",
|
||||
"3ffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"3fffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"3ffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"3fffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"3ffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"3fffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"3ffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"3fffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"3ffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"3fffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"3ffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"3fffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"3ffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"3fffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"3fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"4",
|
||||
"40",
|
||||
"400",
|
||||
"4000",
|
||||
"40000",
|
||||
"400000",
|
||||
"4000000",
|
||||
"40000000",
|
||||
"400000000",
|
||||
"4000000000",
|
||||
"40000000000",
|
||||
"400000000000",
|
||||
"4000000000000",
|
||||
"40000000000000",
|
||||
"400000000000000",
|
||||
"4000000000000000",
|
||||
"40000000000000000",
|
||||
"400000000000000000",
|
||||
"4000000000000000000",
|
||||
"40000000000000000000",
|
||||
"400000000000000000000",
|
||||
"4000000000000000000000",
|
||||
"40000000000000000000000",
|
||||
"400000000000000000000000",
|
||||
"4000000000000000000000000",
|
||||
"40000000000000000000000000",
|
||||
"400000000000000000000000000",
|
||||
"4000000000000000000000000000",
|
||||
"40000000000000000000000000000",
|
||||
"400000000000000000000000000000",
|
||||
"4000000000000000000000000000000",
|
||||
"40000000000000000000000000000000",
|
||||
"400000000000000000000000000000000",
|
||||
"4000000000000000000000000000000000",
|
||||
"40000000000000000000000000000000000",
|
||||
"400000000000000000000000000000000000",
|
||||
"4000000000000000000000000000000000000",
|
||||
"40000000000000000000000000000000000000",
|
||||
"400000000000000000000000000000000000000",
|
||||
"4000000000000000000000000000000000000000",
|
||||
"40000000000000000000000000000000000000000",
|
||||
"400000000000000000000000000000000000000000",
|
||||
"4000000000000000000000000000000000000000000",
|
||||
"40000000000000000000000000000000000000000000",
|
||||
"400000000000000000000000000000000000000000000",
|
||||
"4000000000000000000000000000000000000000000000",
|
||||
"40000000000000000000000000000000000000000000000",
|
||||
"400000000000000000000000000000000000000000000000",
|
||||
"4000000000000000000000000000000000000000000000000",
|
||||
"40000000000000000000000000000000000000000000000000",
|
||||
"400000000000000000000000000000000000000000000000000",
|
||||
"4000000000000000000000000000000000000000000000000000",
|
||||
"40000000000000000000000000000000000000000000000000000",
|
||||
"400000000000000000000000000000000000000000000000000000",
|
||||
"4000000000000000000000000000000000000000000000000000000",
|
||||
"40000000000000000000000000000000000000000000000000000000",
|
||||
"400000000000000000000000000000000000000000000000000000000",
|
||||
"4000000000000000000000000000000000000000000000000000000000",
|
||||
"40000000000000000000000000000000000000000000000000000000000",
|
||||
"400000000000000000000000000000000000000000000000000000000000",
|
||||
"4000000000000000000000000000000000000000000000000000000000000",
|
||||
"40000000000000000000000000000000000000000000000000000000000000",
|
||||
"400000000000000000000000000000000000000000000000000000000000000",
|
||||
"4000000000000000000000000000000000000000000000000000000000000000",
|
||||
"4000000000000000000000000000000000000000000000000000000000000001",
|
||||
"400000000000000000000000000000000000000000000000000000000000001",
|
||||
"40000000000000000000000000000000000000000000000000000000000001",
|
||||
"4000000000000000000000000000000000000000000000000000000000001",
|
||||
"400000000000000000000000000000000000000000000000000000000001",
|
||||
"40000000000000000000000000000000000000000000000000000000001",
|
||||
"4000000000000000000000000000000000000000000000000000000001",
|
||||
"400000000000000000000000000000000000000000000000000000001",
|
||||
"40000000000000000000000000000000000000000000000000000001",
|
||||
"4000000000000000000000000000000000000000000000000000001",
|
||||
"400000000000000000000000000000000000000000000000000001",
|
||||
"40000000000000000000000000000000000000000000000000001",
|
||||
"4000000000000000000000000000000000000000000000000001",
|
||||
"400000000000000000000000000000000000000000000000001",
|
||||
"40000000000000000000000000000000000000000000000001",
|
||||
"4000000000000000000000000000000000000000000000001",
|
||||
"400000000000000000000000000000000000000000000001",
|
||||
"40000000000000000000000000000000000000000000001",
|
||||
"4000000000000000000000000000000000000000000001",
|
||||
"400000000000000000000000000000000000000000001",
|
||||
"40000000000000000000000000000000000000000001",
|
||||
"4000000000000000000000000000000000000000001",
|
||||
"400000000000000000000000000000000000000001",
|
||||
"40000000000000000000000000000000000000001",
|
||||
"4000000000000000000000000000000000000001",
|
||||
"400000000000000000000000000000000000001",
|
||||
"40000000000000000000000000000000000001",
|
||||
"4000000000000000000000000000000000001",
|
||||
"400000000000000000000000000000000001",
|
||||
"40000000000000000000000000000000001",
|
||||
"4000000000000000000000000000000001",
|
||||
"400000000000000000000000000000001",
|
||||
"40000000000000000000000000000001",
|
||||
"4000000000000000000000000000001",
|
||||
"400000000000000000000000000001",
|
||||
"40000000000000000000000000001",
|
||||
"4000000000000000000000000001",
|
||||
"400000000000000000000000001",
|
||||
"40000000000000000000000001",
|
||||
"4000000000000000000000001",
|
||||
"400000000000000000000001",
|
||||
"40000000000000000000001",
|
||||
"4000000000000000000001",
|
||||
"400000000000000000001",
|
||||
"40000000000000000001",
|
||||
"4000000000000000001",
|
||||
"400000000000000001",
|
||||
"40000000000000001",
|
||||
"4000000000000001",
|
||||
"400000000000001",
|
||||
"40000000000001",
|
||||
"4000000000001",
|
||||
"400000000001",
|
||||
"40000000001",
|
||||
"4000000001",
|
||||
"400000001",
|
||||
"40000001",
|
||||
"4000001",
|
||||
"400001",
|
||||
"40001",
|
||||
"4001",
|
||||
"401",
|
||||
"41",
|
||||
"5",
|
||||
"7",
|
||||
"7f",
|
||||
"7ff",
|
||||
"7fff",
|
||||
"7ffff",
|
||||
"7fffff",
|
||||
"7ffffff",
|
||||
"7fffffff",
|
||||
"7ffffffff",
|
||||
"7fffffffff",
|
||||
"7ffffffffff",
|
||||
"7fffffffffff",
|
||||
"7ffffffffffff",
|
||||
"7fffffffffffff",
|
||||
"7ffffffffffffff",
|
||||
"7fffffffffffffff",
|
||||
"7ffffffffffffffff",
|
||||
"7fffffffffffffffff",
|
||||
"7ffffffffffffffffff",
|
||||
"7fffffffffffffffffff",
|
||||
"7ffffffffffffffffffff",
|
||||
"7fffffffffffffffffffff",
|
||||
"7ffffffffffffffffffffff",
|
||||
"7fffffffffffffffffffffff",
|
||||
"7ffffffffffffffffffffffff",
|
||||
"7fffffffffffffffffffffffff",
|
||||
"7ffffffffffffffffffffffffff",
|
||||
"7fffffffffffffffffffffffffff",
|
||||
"7ffffffffffffffffffffffffffff",
|
||||
"7fffffffffffffffffffffffffffff",
|
||||
"7ffffffffffffffffffffffffffffff",
|
||||
"7fffffffffffffffffffffffffffffff",
|
||||
"7ffffffffffffffffffffffffffffffff",
|
||||
"7fffffffffffffffffffffffffffffffff",
|
||||
"7ffffffffffffffffffffffffffffffffff",
|
||||
"7fffffffffffffffffffffffffffffffffff",
|
||||
"7ffffffffffffffffffffffffffffffffffff",
|
||||
"7fffffffffffffffffffffffffffffffffffff",
|
||||
"7ffffffffffffffffffffffffffffffffffffff",
|
||||
"7fffffffffffffffffffffffffffffffffffffff",
|
||||
"7ffffffffffffffffffffffffffffffffffffffff",
|
||||
"7fffffffffffffffffffffffffffffffffffffffff",
|
||||
"7ffffffffffffffffffffffffffffffffffffffffff",
|
||||
"7fffffffffffffffffffffffffffffffffffffffffff",
|
||||
"7ffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"7fffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"7ffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"7fffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"7ffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"7fffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"7ffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"7fffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"7ffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"7fffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"7ffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"7fffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"7ffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"8",
|
||||
"80",
|
||||
"800",
|
||||
"8000",
|
||||
"80000",
|
||||
"800000",
|
||||
"8000000",
|
||||
"80000000",
|
||||
"800000000",
|
||||
"8000000000",
|
||||
"80000000000",
|
||||
"800000000000",
|
||||
"8000000000000",
|
||||
"80000000000000",
|
||||
"800000000000000",
|
||||
"8000000000000000",
|
||||
"80000000000000000",
|
||||
"800000000000000000",
|
||||
"8000000000000000000",
|
||||
"80000000000000000000",
|
||||
"800000000000000000000",
|
||||
"8000000000000000000000",
|
||||
"80000000000000000000000",
|
||||
"800000000000000000000000",
|
||||
"8000000000000000000000000",
|
||||
"80000000000000000000000000",
|
||||
"800000000000000000000000000",
|
||||
"8000000000000000000000000000",
|
||||
"80000000000000000000000000000",
|
||||
"800000000000000000000000000000",
|
||||
"8000000000000000000000000000000",
|
||||
"80000000000000000000000000000000",
|
||||
"800000000000000000000000000000000",
|
||||
"8000000000000000000000000000000000",
|
||||
"80000000000000000000000000000000000",
|
||||
"800000000000000000000000000000000000",
|
||||
"8000000000000000000000000000000000000",
|
||||
"80000000000000000000000000000000000000",
|
||||
"800000000000000000000000000000000000000",
|
||||
"8000000000000000000000000000000000000000",
|
||||
"80000000000000000000000000000000000000000",
|
||||
"800000000000000000000000000000000000000000",
|
||||
"8000000000000000000000000000000000000000000",
|
||||
"80000000000000000000000000000000000000000000",
|
||||
"800000000000000000000000000000000000000000000",
|
||||
"8000000000000000000000000000000000000000000000",
|
||||
"80000000000000000000000000000000000000000000000",
|
||||
"800000000000000000000000000000000000000000000000",
|
||||
"8000000000000000000000000000000000000000000000000",
|
||||
"80000000000000000000000000000000000000000000000000",
|
||||
"800000000000000000000000000000000000000000000000000",
|
||||
"8000000000000000000000000000000000000000000000000000",
|
||||
"80000000000000000000000000000000000000000000000000000",
|
||||
"800000000000000000000000000000000000000000000000000000",
|
||||
"8000000000000000000000000000000000000000000000000000000",
|
||||
"80000000000000000000000000000000000000000000000000000000",
|
||||
"800000000000000000000000000000000000000000000000000000000",
|
||||
"8000000000000000000000000000000000000000000000000000000000",
|
||||
"80000000000000000000000000000000000000000000000000000000000",
|
||||
"800000000000000000000000000000000000000000000000000000000000",
|
||||
"8000000000000000000000000000000000000000000000000000000000000",
|
||||
"80000000000000000000000000000000000000000000000000000000000000",
|
||||
"800000000000000000000000000000000000000000000000000000000000000",
|
||||
"8000000000000000000000000000000000000000000000000000000000000000",
|
||||
"8000000000000000000000000000000000000000000000000000000000000001",
|
||||
"800000000000000000000000000000000000000000000000000000000000001",
|
||||
"80000000000000000000000000000000000000000000000000000000000001",
|
||||
"8000000000000000000000000000000000000000000000000000000000001",
|
||||
"800000000000000000000000000000000000000000000000000000000001",
|
||||
"80000000000000000000000000000000000000000000000000000000001",
|
||||
"8000000000000000000000000000000000000000000000000000000001",
|
||||
"800000000000000000000000000000000000000000000000000000001",
|
||||
"80000000000000000000000000000000000000000000000000000001",
|
||||
"8000000000000000000000000000000000000000000000000000001",
|
||||
"800000000000000000000000000000000000000000000000000001",
|
||||
"80000000000000000000000000000000000000000000000000001",
|
||||
"8000000000000000000000000000000000000000000000000001",
|
||||
"800000000000000000000000000000000000000000000000001",
|
||||
"80000000000000000000000000000000000000000000000001",
|
||||
"8000000000000000000000000000000000000000000000001",
|
||||
"800000000000000000000000000000000000000000000001",
|
||||
"80000000000000000000000000000000000000000000001",
|
||||
"8000000000000000000000000000000000000000000001",
|
||||
"800000000000000000000000000000000000000000001",
|
||||
"80000000000000000000000000000000000000000001",
|
||||
"8000000000000000000000000000000000000000001",
|
||||
"800000000000000000000000000000000000000001",
|
||||
"80000000000000000000000000000000000000001",
|
||||
"8000000000000000000000000000000000000001",
|
||||
"800000000000000000000000000000000000001",
|
||||
"80000000000000000000000000000000000001",
|
||||
"8000000000000000000000000000000000001",
|
||||
"800000000000000000000000000000000001",
|
||||
"80000000000000000000000000000000001",
|
||||
"8000000000000000000000000000000001",
|
||||
"800000000000000000000000000000001",
|
||||
"80000000000000000000000000000001",
|
||||
"8000000000000000000000000000001",
|
||||
"800000000000000000000000000001",
|
||||
"80000000000000000000000000001",
|
||||
"8000000000000000000000000001",
|
||||
"800000000000000000000000001",
|
||||
"80000000000000000000000001",
|
||||
"8000000000000000000000001",
|
||||
"800000000000000000000001",
|
||||
"80000000000000000000001",
|
||||
"8000000000000000000001",
|
||||
"800000000000000000001",
|
||||
"80000000000000000001",
|
||||
"8000000000000000001",
|
||||
"800000000000000001",
|
||||
"80000000000000001",
|
||||
"8000000000000001",
|
||||
"800000000000001",
|
||||
"80000000000001",
|
||||
"8000000000001",
|
||||
"800000000001",
|
||||
"80000000001",
|
||||
"8000000001",
|
||||
"800000001",
|
||||
"80000001",
|
||||
"8000001",
|
||||
"800001",
|
||||
"80001",
|
||||
"8001",
|
||||
"801",
|
||||
"81",
|
||||
"9",
|
||||
"f",
|
||||
"ff",
|
||||
"fff",
|
||||
"ffff",
|
||||
"fffff",
|
||||
"ffffff",
|
||||
"fffffff",
|
||||
"ffffffff",
|
||||
"fffffffff",
|
||||
"ffffffffff",
|
||||
"fffffffffff",
|
||||
"ffffffffffff",
|
||||
"fffffffffffff",
|
||||
"ffffffffffffff",
|
||||
"fffffffffffffff",
|
||||
"ffffffffffffffff",
|
||||
"fffffffffffffffff",
|
||||
"ffffffffffffffffff",
|
||||
"fffffffffffffffffff",
|
||||
"ffffffffffffffffffff",
|
||||
"fffffffffffffffffffff",
|
||||
"ffffffffffffffffffffff",
|
||||
"fffffffffffffffffffffff",
|
||||
"ffffffffffffffffffffffff",
|
||||
"fffffffffffffffffffffffff",
|
||||
"ffffffffffffffffffffffffff",
|
||||
"fffffffffffffffffffffffffff",
|
||||
"ffffffffffffffffffffffffffff",
|
||||
"fffffffffffffffffffffffffffff",
|
||||
"ffffffffffffffffffffffffffffff",
|
||||
"fffffffffffffffffffffffffffffff",
|
||||
"ffffffffffffffffffffffffffffffff",
|
||||
"fffffffffffffffffffffffffffffffff",
|
||||
"ffffffffffffffffffffffffffffffffff",
|
||||
"fffffffffffffffffffffffffffffffffff",
|
||||
"ffffffffffffffffffffffffffffffffffff",
|
||||
"fffffffffffffffffffffffffffffffffffff",
|
||||
"ffffffffffffffffffffffffffffffffffffff",
|
||||
"fffffffffffffffffffffffffffffffffffffff",
|
||||
"ffffffffffffffffffffffffffffffffffffffff",
|
||||
"fffffffffffffffffffffffffffffffffffffffff",
|
||||
"ffffffffffffffffffffffffffffffffffffffffff",
|
||||
"fffffffffffffffffffffffffffffffffffffffffff",
|
||||
"ffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"fffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"ffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"fffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"ffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"fffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"ffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"fffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"ffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"fffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"ffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"fffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"ffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"fffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
||||
"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"
|
||||
};
|
Loading…
Reference in New Issue
Block a user