Convert test_mul to file_test.
BUG=31 Change-Id: I0af5f30cf62c86d1d41152e1e99840bf83c29b33 Reviewed-on: https://boringssl-review.googlesource.com/8526 Reviewed-by: Adam Langley <agl@google.com>
This commit is contained in:
parent
e1caf3974d
commit
cca1c11ae8
@ -99,7 +99,6 @@ static const int num0 = 100; // number of tests
|
||||
static const int num1 = 50; // additional tests for some functions
|
||||
static const int num2 = 5; // number of tests for slow functions
|
||||
|
||||
static bool test_mul(FILE *fp);
|
||||
static bool test_div(FILE *fp, BN_CTX *ctx);
|
||||
static int rand_neg();
|
||||
|
||||
@ -122,6 +121,7 @@ static bool test_asc2bn(BN_CTX *ctx);
|
||||
static bool test_mpi();
|
||||
static bool test_rand();
|
||||
static bool test_asn1();
|
||||
static bool TestNegativeZero();
|
||||
static bool RunTest(FileTest *t, void *arg);
|
||||
|
||||
// A wrapper around puts that takes its arguments in the same order as our *_fp
|
||||
@ -180,12 +180,6 @@ int main(int argc, char *argv[]) {
|
||||
"| grep -v 0 */\n");
|
||||
puts_fp(bc_file.get(), "obase=16\nibase=16\n");
|
||||
|
||||
message(bc_file.get(), "BN_mul");
|
||||
if (!test_mul(bc_file.get())) {
|
||||
return 1;
|
||||
}
|
||||
flush_fp(bc_file.get());
|
||||
|
||||
message(bc_file.get(), "BN_div");
|
||||
if (!test_div(bc_file.get(), ctx.get())) {
|
||||
return 1;
|
||||
@ -260,7 +254,8 @@ int main(int argc, char *argv[]) {
|
||||
!test_asc2bn(ctx.get()) ||
|
||||
!test_mpi() ||
|
||||
!test_rand() ||
|
||||
!test_asn1()) {
|
||||
!test_asn1() ||
|
||||
!TestNegativeZero()) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
@ -463,6 +458,33 @@ static bool TestSquare(FileTest *t, BN_CTX *ctx) {
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool TestProduct(FileTest *t, BN_CTX *ctx) {
|
||||
ScopedBIGNUM a = GetBIGNUM(t, "A");
|
||||
ScopedBIGNUM b = GetBIGNUM(t, "B");
|
||||
ScopedBIGNUM product = GetBIGNUM(t, "Product");
|
||||
ScopedBIGNUM zero(BN_new());
|
||||
if (!a || !b || !product || !zero) {
|
||||
return false;
|
||||
}
|
||||
|
||||
BN_zero(zero.get());
|
||||
|
||||
ScopedBIGNUM ret(BN_new()), remainder(BN_new());
|
||||
if (!ret || !remainder ||
|
||||
!BN_mul(ret.get(), a.get(), b.get(), ctx) ||
|
||||
!ExpectBIGNUMsEqual(t, "A * B", product.get(), ret.get()) ||
|
||||
!BN_div(ret.get(), remainder.get(), product.get(), a.get(), ctx) ||
|
||||
!ExpectBIGNUMsEqual(t, "Product / A", b.get(), ret.get()) ||
|
||||
!ExpectBIGNUMsEqual(t, "Product % A", zero.get(), remainder.get()) ||
|
||||
!BN_div(ret.get(), remainder.get(), product.get(), b.get(), ctx) ||
|
||||
!ExpectBIGNUMsEqual(t, "Product / B", a.get(), ret.get()) ||
|
||||
!ExpectBIGNUMsEqual(t, "Product % B", zero.get(), remainder.get())) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
struct Test {
|
||||
const char *name;
|
||||
bool (*func)(FileTest *t, BN_CTX *ctx);
|
||||
@ -474,6 +496,7 @@ static const Test kTests[] = {
|
||||
{"LShift", TestLShift},
|
||||
{"RShift", TestRShift},
|
||||
{"Square", TestSquare},
|
||||
{"Product", TestProduct},
|
||||
};
|
||||
|
||||
static bool RunTest(FileTest *t, void *arg) {
|
||||
@ -579,66 +602,6 @@ static bool test_div(FILE *fp, BN_CTX *ctx) {
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool test_mul(FILE *fp) {
|
||||
ScopedBN_CTX ctx(BN_CTX_new());
|
||||
ScopedBIGNUM a(BN_new());
|
||||
ScopedBIGNUM b(BN_new());
|
||||
ScopedBIGNUM c(BN_new());
|
||||
ScopedBIGNUM d(BN_new());
|
||||
ScopedBIGNUM e(BN_new());
|
||||
if (!ctx || !a || !b || !c || !d || !e) {
|
||||
return false;
|
||||
}
|
||||
|
||||
for (int i = 0; i < num0 + num1; i++) {
|
||||
if (i <= num1) {
|
||||
if (!BN_rand(a.get(), 100, 0, 0) ||
|
||||
!BN_rand(b.get(), 100, 0, 0)) {
|
||||
return false;
|
||||
}
|
||||
} else if (!BN_rand(b.get(), i - num1, 0, 0)) {
|
||||
return false;
|
||||
}
|
||||
a->neg = rand_neg();
|
||||
b->neg = rand_neg();
|
||||
if (!BN_mul(c.get(), a.get(), b.get(), ctx.get())) {
|
||||
return false;
|
||||
}
|
||||
if (fp != NULL) {
|
||||
BN_print_fp(fp, a.get());
|
||||
puts_fp(fp, " * ");
|
||||
BN_print_fp(fp, b.get());
|
||||
puts_fp(fp, " - ");
|
||||
BN_print_fp(fp, c.get());
|
||||
puts_fp(fp, "\n");
|
||||
}
|
||||
if (!BN_div(d.get(), e.get(), c.get(), a.get(), ctx.get()) ||
|
||||
!BN_sub(d.get(), d.get(), b.get())) {
|
||||
return false;
|
||||
}
|
||||
if (!BN_is_zero(d.get()) || !BN_is_zero(e.get())) {
|
||||
fprintf(stderr, "Multiplication test failed!\n");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// Test that BN_mul never gives negative zero.
|
||||
if (!BN_set_word(a.get(), 1)) {
|
||||
return false;
|
||||
}
|
||||
BN_set_negative(a.get(), 1);
|
||||
BN_zero(b.get());
|
||||
if (!BN_mul(c.get(), a.get(), b.get(), ctx.get())) {
|
||||
return false;
|
||||
}
|
||||
if (!BN_is_zero(c.get()) || BN_is_negative(c.get())) {
|
||||
fprintf(stderr, "Multiplication test failed!\n");
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static int rand_neg() {
|
||||
static unsigned int neg = 0;
|
||||
static const int sign[8] = {0, 0, 0, 1, 1, 0, 1, 1};
|
||||
@ -1760,3 +1723,29 @@ static bool test_asn1() {
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool TestNegativeZero() {
|
||||
ScopedBN_CTX ctx(BN_CTX_new());
|
||||
ScopedBIGNUM a(BN_new());
|
||||
ScopedBIGNUM b(BN_new());
|
||||
ScopedBIGNUM c(BN_new());
|
||||
if (!ctx || !a || !b || !c) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Test that BN_mul never gives negative zero.
|
||||
if (!BN_set_word(a.get(), 1)) {
|
||||
return false;
|
||||
}
|
||||
BN_set_negative(a.get(), 1);
|
||||
BN_zero(b.get());
|
||||
if (!BN_mul(c.get(), a.get(), b.get(), ctx.get())) {
|
||||
return false;
|
||||
}
|
||||
if (!BN_is_zero(c.get()) || BN_is_negative(c.get())) {
|
||||
fprintf(stderr, "Multiplication test failed!\n");
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -5348,3 +5348,608 @@ A = -e53ad05c88568f09f616797f0b7f2756fb543d691ec2a5b645c1e5892a247302826419a35b1
|
||||
|
||||
Square = eea8028b26e0df090504d54da714a6f5f2695202e53cff479c78aedd47a8dc676243ec586740fde53b3eca9ca02b91031ce766242184109503fbe25b1b6d318e3cd5970fabd16dfa22984dd2e9f1e0f14c189170fc69c031d66663703e6235a942d51a4545bd7b0769d01d302ce2b00b83f01568a1e378f61fd0ca6201b0490330580cd9de85719e174a71915d7efbf65cd73d8f4e66f27e0dd3144d58ec09ed0f7ed7d1238ee596922807100fb7a11127944ddcdec6a9ca3bbf6df7301e354f3f049bfb7c275b43c3d8cda5907a932fba507c9145ea3166081c1b48fcc710ee32cd931f936c796b14f8a78a592e67753a7c9e428a01719c8ba82652f3a89fae110
|
||||
A = -3dcb44be1e54c5a5d7db48055ca9afa1ebe2ae648aa6e16ac497502a7deee09ffa124720fad0ab163ce8b3ea6a90f110ea52b67dbc424d0cf1e8c9726dfd9e45bebcefaa5cd5706edeed27896525f31c6bbea3d67ee97badefabf3e2532470b66e3ae3100f66ddf50cf02fc3a8e3f44c304251d3b6a7ca3a6e4bd5d16a41bd97a4
|
||||
|
||||
|
||||
# Product tests.
|
||||
#
|
||||
# These test vectors satisfy A * B = Product.
|
||||
|
||||
Product = 5befab3320f8f90542f3120235abd926aac3805a19e343f690
|
||||
A = b057af553afb120db6b7764f8
|
||||
B = 857734c4c27a1d17f7cf59dee
|
||||
|
||||
Product = -ab1ce167f4b2945c55ae3f87df50ad07d4be87cf9f8aa07b0c
|
||||
A = ae7a6a87ea8981a567d0b3ecc
|
||||
B = -fb0fed5f8c737bcacef4d6cb1
|
||||
|
||||
Product = -c2606cd48e6b075c8da79eb4668e7157f1f175c2860fd4c475
|
||||
A = -c28dc31984d4583e9d45424c3
|
||||
B = ffc4581a5c3f885cf42767e67
|
||||
|
||||
Product = aa6805b5408aff7f914472756da07830dcad902834dbdd6944
|
||||
A = -ffa07ff9f503511954e5dd3f9
|
||||
B = -aaa7af472ad8957763f5a7c64
|
||||
|
||||
Product = 58ca2569173389df29b5ce4b784086055dee821a7243db7210
|
||||
A = af417d936f4690008811a1ae8
|
||||
B = 81b26b80b43aa65aa55ded52a
|
||||
|
||||
Product = -a043d31dfce8bd01724d31c863d0a64f1bf013509d77737c42
|
||||
A = fb5fae5edefb6997d44a1ecd6
|
||||
B = -a336e50c6f7845a1686cc88a3
|
||||
|
||||
Product = -b5d6a45ffce851b201239d938ba551bab7dcb59fc11fc35fce
|
||||
A = -f918faa58bb57a2ffb8b01f05
|
||||
B = bae08c3006fade695029a1df6
|
||||
|
||||
Product = 6f2fde7d1a18625d727c6345ed85e597d546d9228bf7f0564a
|
||||
A = -8d108d7a16f0696d4ceb24445
|
||||
B = -c9c764cae465207097ef8d2c2
|
||||
|
||||
Product = 93808b1140841dc9735cd61c6f855ddbbb83066689b0d7e1a0
|
||||
A = b386d08daf3fa2154e9c768d6
|
||||
B = d2557dceb2d02d04d9c578670
|
||||
|
||||
Product = -ad04212ca8cadb1f7861c5130ba3a747046a2a7e4a0c72b69a
|
||||
A = e4e5f7d1311e0c5f2e404d55b
|
||||
B = -c18057a328d8c7375afdfd4ee
|
||||
|
||||
Product = -685e75c232f2b4a0e455fe5ee8aea52f292ad8b8178320e692
|
||||
A = -a683312f132b2320632e74ef6
|
||||
B = a0758f12791453b4af354730b
|
||||
|
||||
Product = 6f588c53185c503dc5b0dc3002d3817ca2e7eb2370b3e9a647
|
||||
A = -d70c9b93170261091f0c53f27
|
||||
B = -848c86c51a186ac4c9080d3e1
|
||||
|
||||
Product = 5e3bc5a04e054a9a244bf7c86cae215072fdb70e9199989427
|
||||
A = 898b64ef09d7cf63966e1a3b5
|
||||
B = af638b12f26aa5d12e97439eb
|
||||
|
||||
Product = -8d8372b235b16108285203c03a8aef6fdd3c0e1a9fd31d4f68
|
||||
A = f6003dc83818c14fbe36c9998
|
||||
B = -9343f6cbcc81fa4c9399dce5f
|
||||
|
||||
Product = -5ee6509abeeb7af7fc5caef40d1822ad3150c8d74f522dc7c8
|
||||
A = -875ff6f56ca72cbdf614bb9ca
|
||||
B = b375a68a21dfb1f159c22fa14
|
||||
|
||||
Product = ada25be404a17385af5a330da799e5909da81bfa0715baa6f4
|
||||
A = -c9b8df392e76abc3eb7d5ce04
|
||||
B = -dc5ab818c70594dd917b4243d
|
||||
|
||||
Product = bb24422ee4656ddfcd50ec38201b15baf679d3b75e5cb878ca
|
||||
A = f8e12cf4defe388b78510f687
|
||||
B = c07ee817b4ae95c2915b88966
|
||||
|
||||
Product = -93da296ba164c7220a17330647aef0980c94eddd2cfa2a3b2d
|
||||
A = bc5dc74ddf7a1363d1c2b1f25
|
||||
B = -c8f069bad7f93cbfe6df51169
|
||||
|
||||
Product = -6b2e1d132c4e0b0dc9b7e7de7d424fda5180480cb5ff47c755
|
||||
A = -a8048acb66a8bb88df39266e7
|
||||
B = a34e0b265d71435ae8c92a463
|
||||
|
||||
Product = 6ccb2cd93783576a8602ae43f41c786008b6623a4cca0a010a
|
||||
A = -b071f1f54790c951c1dd2a1cf
|
||||
B = -9dd89bb4d9b546207e282e2d6
|
||||
|
||||
Product = 5c742ba47d0d64bd97509927ce957deedb855766cc24c60016
|
||||
A = b44f3f252c368096fa62747f2
|
||||
B = 83439b97dbac579fa4f7b7d23
|
||||
|
||||
Product = -7347ba65691c913286c2fb55e45b177f031c1d86ae0e9f654f
|
||||
A = 937cf0643ffa53cdea24d642f
|
||||
B = -c81881f78243dd5737a7d28e1
|
||||
|
||||
Product = -9bc0649a703674e59f83ff9b8a560e5cbf51f65ca310f80f95
|
||||
A = -b536f8d9769be6f62da941ae5
|
||||
B = dc0746fb101881ae0cacde6f1
|
||||
|
||||
Product = bf4992fc3a124de350f9fb90ea825cf663b1fa051282ef22e2
|
||||
A = -ff7eacc7de1bb01d668c693aa
|
||||
B = -bfaa6627f9fc7ba68ae41bb2d
|
||||
|
||||
Product = 7c8992d34cc0b63f1c953f68d4e12a99d3f3a34d16bd76caa9
|
||||
A = 9e0d5a850d078890a983c0ec9
|
||||
B = c9b72c118b3e1f1023a696ce1
|
||||
|
||||
Product = -a75840c95082b9a0ae0d6e0a4eb5e09288e4e2a66e9697d9cd
|
||||
A = b2b042a21045a74ef1a5091d9
|
||||
B = -efbf8b120b384e869692a1b15
|
||||
|
||||
Product = -a510b333bdb4ed7479c142e8fbe2b12f7671a42acbe16c0998
|
||||
A = -e7fd5e0bb5496b9d876c27f65
|
||||
B = b6262653b2be44501af1d85b8
|
||||
|
||||
Product = a1c1e90afc4684754155526e307fc6ed798746f347bae2c880
|
||||
A = -b84674832b26ded0a690a8ff0
|
||||
B = -e0b7bdf2fd05a038ed3640b78
|
||||
|
||||
Product = 5588e0c33bffbefcc5695ca0615abd383343f21a8a0d22b222
|
||||
A = 80cad81ad9a66ab6a1c2e5669
|
||||
B = aa0453a77c8af1584f54750d2
|
||||
|
||||
Product = -6460c2fcd6cf3304ab163ea883ac48e2031cd10f2e9014c0ab
|
||||
A = c49ad3d7c8848d4fbf913b10b
|
||||
B = -82b3dedbe3cc7cd532ad632e1
|
||||
|
||||
Product = -a18717330b711669e85abde8c4dce426529aa621ba3da2a477
|
||||
A = -cab4a9c0a331a5a5e826dda1f
|
||||
B = cbfee5041c13075dfe3399aa9
|
||||
|
||||
Product = 8ab6282ee892b53c083d319a9dcab48af97a1ac8493c0bfcad
|
||||
A = -f7d13e47f9aaac8c25f9bf75b
|
||||
B = -8f4aa95231c1e2336aa092297
|
||||
|
||||
Product = 8f2d1c23c78777ed371f13155445ca3c88cbc0a9b299bdf9d3
|
||||
A = 9d8248d00defce1ad081337c3
|
||||
B = e8b479295ecd9cef7301f24b1
|
||||
|
||||
Product = -86d5e0c5b581fe59819730b4b71e33d1f85f9ab504c7dbe2d6
|
||||
A = b21b45e88acff48562a19729a
|
||||
B = -c1cdfebccc763beeac394b997
|
||||
|
||||
Product = -484ca05aefa113bdfcb1bc623f730c9f9555b462a8ab4c9606
|
||||
A = -8c12b406c02c4417163c0956b
|
||||
B = 8422b15c80c1c087b17eedd92
|
||||
|
||||
Product = 614c3c91f60050c785fd229a3ad74674577a90cacb654e0a5c
|
||||
A = -93d45bce155a23a397506d96a
|
||||
B = -a87e339c3fd5aebede5fb1b36
|
||||
|
||||
Product = 9683285f194a7e4feeab196a36bdfc4f828035fd184b9cc692
|
||||
A = f196d8fe760fdcae7eb60e2f7
|
||||
B = 9f7d88a2163ad818bf3a6377e
|
||||
|
||||
Product = -988a64599c19cc64f3cadc1a83fea6550185f6cc3ab82af822
|
||||
A = d0584b2a306671e4d2c9d0c7b
|
||||
B = -bb6e7559df199c68d6df3a3c6
|
||||
|
||||
Product = -68456814cb0edd951196d04c853172afdd5787a5bd69a57876
|
||||
A = -cefce1b0a1fb22862418bb597
|
||||
B = 80f614139947aea5e76cd55fa
|
||||
|
||||
Product = b4b1cbf5d6566e7a57aee0cc5c9c8ec4ad885e8766aa7662a4
|
||||
A = -d68ed1bea046c6cad057e21db
|
||||
B = -d7988b9be54f6e332d019032c
|
||||
|
||||
Product = 6b09212675ff5257a1384371e17b37dcc268bbb141577902e4
|
||||
A = a8208053adc20a609d5d01404
|
||||
B = a2fa927c5458c4fe662d7a3b9
|
||||
|
||||
Product = -8361bc26f9bcf55f677e047d822d3004027da0d0455b244d10
|
||||
A = e82b6410b29020c2d6810a977
|
||||
B = -90ddfe0e7f0d6b9cdc0815f70
|
||||
|
||||
Product = -f1b6da00923fd513a83e32040a515649fbd362f69ebc016d9f
|
||||
A = -f9b697d9ec774a8d1ee5ea905
|
||||
B = f7ccb46a8869cb028492bed53
|
||||
|
||||
Product = d06206963f2e150bacdb32c823c3a47f013d5a267c3c0d0c88
|
||||
A = -ea8e63afa99c719897ad7f2ab
|
||||
B = -e36f11f55b6148d1b4f46e598
|
||||
|
||||
Product = af774a5eae6084df5ca499ef005642730adabf6a4f9533e2fd
|
||||
A = e4c7af7eea3ec9cc2443b7319
|
||||
B = c457bc264c8461789931baf85
|
||||
|
||||
Product = -76350f428bfbb95e6c253ec0f457aa84cebe8c7cb1af2a2120
|
||||
A = 8fd1ff97465775d44dee58ae0
|
||||
B = -d268a7d328f44baf80e35119f
|
||||
|
||||
Product = -787ae3f114f9a8dd4d249d5d3f3b0897b02564b9469416cefe
|
||||
A = -bc0b398bd0ec045b0cf147b7e
|
||||
B = a4050955c234e473257d0c641
|
||||
|
||||
Product = 9d6320b3d4aabac097a079b9bd2aca7f1898bcab0f23409fd0
|
||||
A = -9d7a4ebac630cc0662b816fb5
|
||||
B = -ffda517d3eb3214986b04e290
|
||||
|
||||
Product = 80bab8bd800ac8c9dc3bb57dca306f10af6fd88c5d8314833c
|
||||
A = 834bc50140d6c6ab938dc58b6
|
||||
B = fafee47793cbc533b3c66af3a
|
||||
|
||||
Product = -b08920f5922226b1dec87151ae087d8a7e5c1aea8c9be148b6
|
||||
A = bfd5b1ad323c79428cb2db36a
|
||||
B = -eb956a10edebdd658e6810fcf
|
||||
|
||||
Product = -6d428e08e8350bb4b0fae3b662c82df2aef7beadaa17430dbb
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = a9040c1909712e1149d295765
|
||||
|
||||
Product = a57da276998c548101f514e9f
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = -1
|
||||
|
||||
Product = 14afb44ed3318a90203ea29d3e
|
||||
A = a57da276998c548101f514e9f
|
||||
B = 2
|
||||
|
||||
Product = -295f689da6631520407d453a7c
|
||||
A = a57da276998c548101f514e9f
|
||||
B = -4
|
||||
|
||||
Product = -867614005cc204a8d19720fe13
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = d
|
||||
|
||||
Product = 12bf3b676f64e5929d38c35e803
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = -1d
|
||||
|
||||
Product = 24d8f92c68303ed0b96f91a8167
|
||||
A = a57da276998c548101f514e9f
|
||||
B = 39
|
||||
|
||||
Product = -49b1f258d0607da172df23502ce
|
||||
A = a57da276998c548101f514e9f
|
||||
B = -72
|
||||
|
||||
Product = -6fd5e6ca25c3d51b2e529f22173
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = ad
|
||||
|
||||
Product = 1276d4705b81b82da4c7e82559d7
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = -1c9
|
||||
|
||||
Product = 1ddb9abfc5d4017f068a67b5f4fd
|
||||
A = a57da276998c548101f514e9f
|
||||
B = 2e3
|
||||
|
||||
Product = -3a8b41c914b1b4a4e341433601f7
|
||||
A = a57da276998c548101f514e9f
|
||||
B = -5a9
|
||||
|
||||
Product = -97c0f4ba414d6e7d4c8b7ced84d4
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = eac
|
||||
|
||||
Product = 1198739e0c23639c176d46d13f7c8
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = -1b38
|
||||
|
||||
Product = 159150954ee0dedf541e4dbac0ec3
|
||||
A = a57da276998c548101f514e9f
|
||||
B = 215d
|
||||
|
||||
Product = -441d4bc44c86f02ff12c3d91a1562
|
||||
A = a57da276998c548101f514e9f
|
||||
B = -695e
|
||||
|
||||
Product = -64726b76005ebee27592237ba5dde
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = 9b62
|
||||
|
||||
Product = bbe4ec7cf7c5bbd198e0ea86bb658
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = -122a8
|
||||
|
||||
Product = 21f717d05681fd2eb1796776a69ef7
|
||||
A = a57da276998c548101f514e9f
|
||||
B = 348a9
|
||||
|
||||
Product = -396ac788a1748bc6955f99be4d2c64
|
||||
A = a57da276998c548101f514e9f
|
||||
B = -58d1c
|
||||
|
||||
Product = -54a213eb083aed1a04f3d1b2da62e7
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = 82eb9
|
||||
|
||||
Product = 1366fb9c20fb14b8b9a9be4b3e3dde1
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = -1e037f
|
||||
|
||||
Product = 238d65fd26da4733e5d93ab2485d40b
|
||||
A = a57da276998c548101f514e9f
|
||||
B = 36ff15
|
||||
|
||||
Product = -38272a99be154d531e922be405aee9a
|
||||
A = a57da276998c548101f514e9f
|
||||
B = -56dd26
|
||||
|
||||
Product = -64651b62b6a454c08951632c7f2c398
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = 9b4d68
|
||||
|
||||
Product = fb272e3597b816144f8b945ae6130e0
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = -1848320
|
||||
|
||||
Product = 280d9f5ed7243712ecb9a7c6358bcb8b
|
||||
A = a57da276998c548101f514e9f
|
||||
B = 3df5795
|
||||
|
||||
Product = -2fbb6bb8e1ba78cefc47fbbc20e188ee
|
||||
A = a57da276998c548101f514e9f
|
||||
B = -49d6652
|
||||
|
||||
Product = -57f29c13691ffa1642d2860dab9d288e
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = 880c2b2
|
||||
|
||||
Product = 139c19d7668e6aabf2d7206cb0723ed34
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = -1e55aa4c
|
||||
|
||||
Product = 2950ce04bf0cf836d4fe94b88fb757d0a
|
||||
A = a57da276998c548101f514e9f
|
||||
B = 3fe968b6
|
||||
|
||||
Product = -5175239488dad05a58414251496d2a06c
|
||||
A = a57da276998c548101f514e9f
|
||||
B = -7e020414
|
||||
|
||||
Product = -945ff0ed38bc6020cf679cbd3e0758c6d
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = e585e573
|
||||
|
||||
Product = 11c69ae98f6b27e95477986f796bc67c8c
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = -1b7f653f4
|
||||
|
||||
Product = 209afe75e8fb5ac76d13c06b545f5d4d73
|
||||
A = a57da276998c548101f514e9f
|
||||
B = 3270154ad
|
||||
|
||||
Product = -386d64b215e41506514f4988ed237e4da2
|
||||
A = a57da276998c548101f514e9f
|
||||
B = -5749c891e
|
||||
|
||||
Product = -6c13cccdb1d140d0babd52707ea72fa278
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = a72fb6288
|
||||
|
||||
Product = 136228a8a45540372b9b3cd7f82021f6546
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = -1dfc08a2fa
|
||||
|
||||
Product = 1f0ad3babf9d132eaa08cf5cdb8f19dbf01
|
||||
A = a57da276998c548101f514e9f
|
||||
B = 30050f2e5f
|
||||
|
||||
Product = -50d615ce183258e95af77319b766fac81e2
|
||||
A = a57da276998c548101f514e9f
|
||||
B = -7d0bf92cde
|
||||
|
||||
Product = -817d358293b86a56a4e881e50257c549471
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = c84efb12ef
|
||||
|
||||
Product = f09b9e80be251de474d726b16e25a6865fc
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = -1743322a484
|
||||
|
||||
Product = 22996cb0f9c60e35dce49f3825f8a479db26
|
||||
A = a57da276998c548101f514e9f
|
||||
B = 3585acec11a
|
||||
|
||||
Product = -2b307a37c91791a61c0691858f5f783e4678
|
||||
A = a57da276998c548101f514e9f
|
||||
B = -42cf6be3e88
|
||||
|
||||
Product = -8826698fcba6c30d755fc523de1cc25301ae
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = d29cc8af592
|
||||
|
||||
Product = ae37fc99fd419809310782714530d7428d77
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = -10d8059d4a29
|
||||
|
||||
Product = 1d544a20f9bc7d95ab67d1f65743979f23bba
|
||||
A = a57da276998c548101f514e9f
|
||||
B = 2d5eadef1c06
|
||||
|
||||
Product = -367897184e9929a0294d320f10278889fbeb7
|
||||
A = a57da276998c548101f514e9f
|
||||
B = -54431582d0e9
|
||||
|
||||
Product = -943a509076a00060a2e7fa1cddb7468d734a1
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = e54bb102f4bf
|
||||
|
||||
Product = fcce6e42879af5ad13545c0bcaab85b690cea
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = -18711db522cd6
|
||||
|
||||
Product = 258c49f86d0cbb14ae9edbd3456be8cede2022
|
||||
A = a57da276998c548101f514e9f
|
||||
B = 3a1562c7c269e
|
||||
|
||||
Product = -4a8bbce59ad7daa51136d557f7fa16e9a2faad
|
||||
A = a57da276998c548101f514e9f
|
||||
B = -7350e780b0f33
|
||||
|
||||
Product = -82f53ec9333275d5cc271876a7db936db49280
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = ca94ad312dd80
|
||||
|
||||
Product = 11daee4fcc713db5b2806e47fa5dff3b5b770eb
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = -1b9ed6758f9635
|
||||
|
||||
Product = 17038cac4f0c94dc24985ea108ae6682e175752
|
||||
A = a57da276998c548101f514e9f
|
||||
B = 2399b8a9b1116e
|
||||
|
||||
Product = -37e5f14394bf347a3ed061769fe8e6424af4348
|
||||
A = a57da276998c548101f514e9f
|
||||
B = -567840a7569fb8
|
||||
|
||||
Product = -9253d4a32a88d8f725984514d969012ead7cc9a
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = e25b246f733f26
|
||||
|
||||
Product = ace3648371c16a931d29004e79f5b9678391da5
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = -10b717b27b6a13b
|
||||
|
||||
Product = 1faa5b45d04c143c339b09d3aad94d39b94ef960
|
||||
A = a57da276998c548101f514e9f
|
||||
B = 30fbd672e106aa0
|
||||
|
||||
Product = -3fdfe246d27aae0d08d63b2bc501461d2bff3b8d
|
||||
A = a57da276998c548101f514e9f
|
||||
B = -62cef5f078a8253
|
||||
|
||||
Product = -5b792bfaeff04ee3d948cb343a249d49eb344f57
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = 8d805ac65649c49
|
||||
|
||||
Product = c5f824406161eec321da5a58e3e00d393b55abe9
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = -1323dd41d2e1e077
|
||||
|
||||
Product = 2226dec8a57be8e84e42559007e2d101ccbe67f8d
|
||||
A = a57da276998c548101f514e9f
|
||||
B = 34d47842b5d0be53
|
||||
|
||||
Product = -340f50f812c7420b502000940788a700f6769788a
|
||||
A = a57da276998c548101f514e9f
|
||||
B = -508836d8e1193d36
|
||||
|
||||
Product = -a00f1d96e19c590479625c5329a87774b5964cc78
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = f798fc858657f888
|
||||
|
||||
Product = cb94f830cba8997331912a6a31c34f1bef826d121
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = -13aec7a5c52a0883f
|
||||
|
||||
Product = 16b45140b048d6dc0b9fc811df7ce7dd88357fff04
|
||||
A = a57da276998c548101f514e9f
|
||||
B = 231f27f3e347bd67c
|
||||
|
||||
Product = -2aa94179351b4e87de5849ab619d94f47450640199
|
||||
A = a57da276998c548101f514e9f
|
||||
B = -41fe3ec2189599cc7
|
||||
|
||||
Product = -5489401d3da93158d4284e557d74016c0a7cfd935a
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = 82c5281df41bfc066
|
||||
|
||||
Product = ae04d5b212ecfc9a6d7df07794d565df52991fb70e
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = -10d3139229f5d02432
|
||||
|
||||
Product = 27821bc811f45d63089790b41d307be978d4b19564c
|
||||
A = a57da276998c548101f514e9f
|
||||
B = 3d1da85cc012b3e234
|
||||
|
||||
Product = -3de3c9e9d7fa3020a578706339314890dccf63096c2
|
||||
A = a57da276998c548101f514e9f
|
||||
B = -5fbcfb28bfc9044bfe
|
||||
|
||||
Product = -627dcb299a6720044abcf11469bdfd3f951edbb5bf7
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = 985b930517b78e6ba9
|
||||
|
||||
Product = cc0622441497a37fddf1856d5e2c99df52b99ea4573
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = -13b9b88948fb7e95cad
|
||||
|
||||
Product = 1a5168e1a492210591ad1ed660adde9110390e4caf32
|
||||
A = a57da276998c548101f514e9f
|
||||
B = 28b631c6e04b6ab0d8e
|
||||
|
||||
Product = -4d8ec27b7460ce616421b9f5cae708c2ac241daa59b4
|
||||
A = a57da276998c548101f514e9f
|
||||
B = -77f99bdf1eb09da6dcc
|
||||
|
||||
Product = -55afd796db7bce822a00073fc8926d3bd0c79772f036
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = 848cdd6212b9bb3620a
|
||||
|
||||
Product = dc494b0d73e8ec07cd2bb6dd8191d2b4d48e7700cc34
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = -154c39567bd8be5f6b4c
|
||||
|
||||
Product = 240e9301b4345b914ecd91a49a0e651524dcecb6fdc6c
|
||||
A = a57da276998c548101f514e9f
|
||||
B = 37c6e7ee89cf87674814
|
||||
|
||||
Product = -39002ecfd6d96661b336157ccef6536756ad2e9219be3
|
||||
A = a57da276998c548101f514e9f
|
||||
B = -582cdab09915a652203d
|
||||
|
||||
Product = -695f49fc891d53f396f0593efae3973082b76d4f9e944
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = a30074dbce2246af043c
|
||||
|
||||
Product = bba2b7b45b97cb0d7fb30fed95089870742ad69e7aed7
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = -1224195afc7b394ae8cc9
|
||||
|
||||
Product = 1910edc278515ab7d4cc09b496dc3c06c32c75bc7368af
|
||||
A = a57da276998c548101f514e9f
|
||||
B = 26c6701c39334169e7bf1
|
||||
|
||||
Product = -3670b7f9b661aba35ce50984d83173c84c8fa60e04d100
|
||||
A = a57da276998c548101f514e9f
|
||||
B = -5436e84b4a29858a68f00
|
||||
|
||||
Product = -7fa0d3e0082b37475342b7e22e5dbad7b8d4cb5d64f871
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = c56e0f44fc63bca242eef
|
||||
|
||||
Product = da7fe3367ce640fa5941c033ac1874312f10ba5950da75
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = -15200043166ff309f0426b
|
||||
|
||||
Product = 1871d72481f66b1d413100edd6b339cbbaa67b3b2b3cd57
|
||||
A = a57da276998c548101f514e9f
|
||||
B = 25d057879db26fa29a5e49
|
||||
|
||||
Product = -3cf1dd1e2df3456757d72f35353c3c7a659b2ef844ad857
|
||||
A = a57da276998c548101f514e9f
|
||||
B = -5e46be70de21949df67349
|
||||
|
||||
Product = -5e861cbe47aefab2a7ea59292aab1258932b9a322f66e63
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = 9238670897685a6c9cbdbd
|
||||
|
||||
Product = f623344788efb857db55c924e95a437effa4dc8bb2bcd24
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = -17cc0ec84c228225a7cf45c
|
||||
|
||||
Product = 15514c916b0ae7cde6add16c629d3e19ba52a101d75dff72
|
||||
A = a57da276998c548101f514e9f
|
||||
B = 20f9f925b3ed307edbb154e
|
||||
|
||||
Product = -460cf5b14f9d0b547c3084bf44207bf881745c409b08d07f
|
||||
A = a57da276998c548101f514e9f
|
||||
B = -6c5cbfd29f3dae1dce99221
|
||||
|
||||
Product = -5ddf7fb91d765af97dfda5333d8779e80837c2b51cfb4f43
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = 9136aa79080defd1bcf90dd
|
||||
|
||||
Product = 12c1a0edfb6ab6a0caae2553fb3743827e1470a8954e0a3fd
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = -1d03b512470dc3052779f3e3
|
||||
|
||||
Product = 28388a244214abf046488a8d95308d95f021eae4b994a5a52
|
||||
A = a57da276998c548101f514e9f
|
||||
B = 3e37dce784274962ff862e6e
|
||||
|
||||
Product = -4da476e76119deef291c0f56934a912a0877278a19a561ee0
|
||||
A = a57da276998c548101f514e9f
|
||||
B = -781b2f2dc40094a7f8fed520
|
||||
|
||||
Product = -5792496d33dd45e225f9dfca17419a04e075ffc0c90b37b82
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = 87772a4fb582acafd3e4ef3e
|
||||
|
||||
Product = dd3a3506a7d748de16fb43d666928a87de0354d8e8a1bcaaa
|
||||
A = -a57da276998c548101f514e9f
|
||||
B = -1563841bf7851ff158a395716
|
||||
|
||||
Product = 24e8fb09a9ab0808ff643122479dea5ed41060c6c5b74e8752
|
||||
A = a57da276998c548101f514e9f
|
||||
B = 3918c30b5568318a58e9be16e
|
||||
|
||||
Product = -366c125f96b38b58d01c939c27c4100af3377eabb792b5491a
|
||||
A = a57da276998c548101f514e9f
|
||||
B = -542fb814f45924aa09a16f2a6
|
||||
|
Loading…
Reference in New Issue
Block a user