#include "md5.h" using md5::impl::K; using md5::impl::S; using md5::impl::T; static_assert(K(0x00) == 0); static_assert(K(0x01) == 1); static_assert(K(0x02) == 2); static_assert(K(0x03) == 3); static_assert(K(0x04) == 4); static_assert(K(0x05) == 5); static_assert(K(0x06) == 6); static_assert(K(0x07) == 7); static_assert(K(0x08) == 8); static_assert(K(0x09) == 9); static_assert(K(0x0a) == 10); static_assert(K(0x0b) == 11); static_assert(K(0x0c) == 12); static_assert(K(0x0d) == 13); static_assert(K(0x0e) == 14); static_assert(K(0x0f) == 15); static_assert(K(0x10) == 1); static_assert(K(0x11) == 6); static_assert(K(0x12) == 11); static_assert(K(0x13) == 0); static_assert(K(0x14) == 5); static_assert(K(0x15) == 10); static_assert(K(0x16) == 15); static_assert(K(0x17) == 4); static_assert(K(0x18) == 9); static_assert(K(0x19) == 14); static_assert(K(0x1a) == 3); static_assert(K(0x1b) == 8); static_assert(K(0x1c) == 13); static_assert(K(0x1d) == 2); static_assert(K(0x1e) == 7); static_assert(K(0x1f) == 12); static_assert(K(0x20) == 5); static_assert(K(0x21) == 8); static_assert(K(0x22) == 11); static_assert(K(0x23) == 14); static_assert(K(0x24) == 1); static_assert(K(0x25) == 4); static_assert(K(0x26) == 7); static_assert(K(0x27) == 10); static_assert(K(0x28) == 13); static_assert(K(0x29) == 0); static_assert(K(0x2a) == 3); static_assert(K(0x2b) == 6); static_assert(K(0x2c) == 9); static_assert(K(0x2d) == 12); static_assert(K(0x2e) == 15); static_assert(K(0x2f) == 2); static_assert(K(0x30) == 0); static_assert(K(0x31) == 7); static_assert(K(0x32) == 14); static_assert(K(0x33) == 5); static_assert(K(0x34) == 12); static_assert(K(0x35) == 3); static_assert(K(0x36) == 10); static_assert(K(0x37) == 1); static_assert(K(0x38) == 8); static_assert(K(0x39) == 15); static_assert(K(0x3a) == 6); static_assert(K(0x3b) == 13); static_assert(K(0x3c) == 4); static_assert(K(0x3d) == 11); static_assert(K(0x3e) == 2); static_assert(K(0x3f) == 9); static_assert(S(0x00) == 7); static_assert(S(0x01) == 12); static_assert(S(0x02) == 17); static_assert(S(0x03) == 22); static_assert(S(0x04) == 7); static_assert(S(0x05) == 12); static_assert(S(0x06) == 17); static_assert(S(0x07) == 22); static_assert(S(0x08) == 7); static_assert(S(0x09) == 12); static_assert(S(0x0a) == 17); static_assert(S(0x0b) == 22); static_assert(S(0x0c) == 7); static_assert(S(0x0d) == 12); static_assert(S(0x0e) == 17); static_assert(S(0x0f) == 22); static_assert(S(0x10) == 5); static_assert(S(0x11) == 9); static_assert(S(0x12) == 14); static_assert(S(0x13) == 20); static_assert(S(0x14) == 5); static_assert(S(0x15) == 9); static_assert(S(0x16) == 14); static_assert(S(0x17) == 20); static_assert(S(0x18) == 5); static_assert(S(0x19) == 9); static_assert(S(0x1a) == 14); static_assert(S(0x1b) == 20); static_assert(S(0x1c) == 5); static_assert(S(0x1d) == 9); static_assert(S(0x1e) == 14); static_assert(S(0x1f) == 20); static_assert(S(0x20) == 4); static_assert(S(0x21) == 11); static_assert(S(0x22) == 16); static_assert(S(0x23) == 23); static_assert(S(0x24) == 4); static_assert(S(0x25) == 11); static_assert(S(0x26) == 16); static_assert(S(0x27) == 23); static_assert(S(0x28) == 4); static_assert(S(0x29) == 11); static_assert(S(0x2a) == 16); static_assert(S(0x2b) == 23); static_assert(S(0x2c) == 4); static_assert(S(0x2d) == 11); static_assert(S(0x2e) == 16); static_assert(S(0x2f) == 23); static_assert(S(0x30) == 6); static_assert(S(0x31) == 10); static_assert(S(0x32) == 15); static_assert(S(0x33) == 21); static_assert(S(0x34) == 6); static_assert(S(0x35) == 10); static_assert(S(0x36) == 15); static_assert(S(0x37) == 21); static_assert(S(0x38) == 6); static_assert(S(0x39) == 10); static_assert(S(0x3a) == 15); static_assert(S(0x3b) == 21); static_assert(S(0x3c) == 6); static_assert(S(0x3d) == 10); static_assert(S(0x3e) == 15); static_assert(S(0x3f) == 21); static_assert(T(0x00) == 0xd76aa478); static_assert(T(0x01) == 0xe8c7b756); static_assert(T(0x02) == 0x242070db); static_assert(T(0x03) == 0xc1bdceee); static_assert(T(0x04) == 0xf57c0faf); static_assert(T(0x05) == 0x4787c62a); static_assert(T(0x06) == 0xa8304613); static_assert(T(0x07) == 0xfd469501); static_assert(T(0x08) == 0x698098d8); static_assert(T(0x09) == 0x8b44f7af); static_assert(T(0x0a) == 0xffff5bb1); static_assert(T(0x0b) == 0x895cd7be); static_assert(T(0x0c) == 0x6b901122); static_assert(T(0x0d) == 0xfd987193); static_assert(T(0x0e) == 0xa679438e); static_assert(T(0x0f) == 0x49b40821); static_assert(T(0x10) == 0xf61e2562); static_assert(T(0x11) == 0xc040b340); static_assert(T(0x12) == 0x265e5a51); static_assert(T(0x13) == 0xe9b6c7aa); static_assert(T(0x14) == 0xd62f105d); static_assert(T(0x15) == 0x02441453); static_assert(T(0x16) == 0xd8a1e681); static_assert(T(0x17) == 0xe7d3fbc8); static_assert(T(0x18) == 0x21e1cde6); static_assert(T(0x19) == 0xc33707d6); static_assert(T(0x1a) == 0xf4d50d87); static_assert(T(0x1b) == 0x455a14ed); static_assert(T(0x1c) == 0xa9e3e905); static_assert(T(0x1d) == 0xfcefa3f8); static_assert(T(0x1e) == 0x676f02d9); static_assert(T(0x1f) == 0x8d2a4c8a); static_assert(T(0x20) == 0xfffa3942); static_assert(T(0x21) == 0x8771f681); static_assert(T(0x22) == 0x6d9d6122); static_assert(T(0x23) == 0xfde5380c); static_assert(T(0x24) == 0xa4beea44); static_assert(T(0x25) == 0x4bdecfa9); static_assert(T(0x26) == 0xf6bb4b60); static_assert(T(0x27) == 0xbebfbc70); static_assert(T(0x28) == 0x289b7ec6); static_assert(T(0x29) == 0xeaa127fa); static_assert(T(0x2a) == 0xd4ef3085); static_assert(T(0x2b) == 0x04881d05); static_assert(T(0x2c) == 0xd9d4d039); static_assert(T(0x2d) == 0xe6db99e5); static_assert(T(0x2e) == 0x1fa27cf8); static_assert(T(0x2f) == 0xc4ac5665); static_assert(T(0x30) == 0xf4292244); static_assert(T(0x31) == 0x432aff97); static_assert(T(0x32) == 0xab9423a7); static_assert(T(0x33) == 0xfc93a039); static_assert(T(0x34) == 0x655b59c3); static_assert(T(0x35) == 0x8f0ccc92); static_assert(T(0x36) == 0xffeff47d); static_assert(T(0x37) == 0x85845dd1); static_assert(T(0x38) == 0x6fa87e4f); static_assert(T(0x39) == 0xfe2ce6e0); static_assert(T(0x3a) == 0xa3014314); static_assert(T(0x3b) == 0x4e0811a1); static_assert(T(0x3c) == 0xf7537e82); static_assert(T(0x3d) == 0xbd3af235); static_assert(T(0x3e) == 0x2ad7d2bb); static_assert(T(0x3f) == 0xeb86d391);