Revert "Ignore vendor_cryptopp"

This reverts commit 3866607d68.
This commit is contained in:
Matéo Duparc 2022-06-20 12:08:51 +02:00
parent 56c7d96bbf
commit 03fffc44a5
331 changed files with 91794 additions and 1163 deletions

View File

@ -1 +0,0 @@
/vendor_cryptopp

View File

@ -92,7 +92,6 @@ local.properties
*.suo
*.user
*.sdf
/.vs
# Build results

File diff suppressed because it is too large Load Diff

View File

@ -38,7 +38,7 @@ PROJECT_NAME = Crypto++
# could be handy for archiving the generated documentation or if some version
# control system is used.
PROJECT_NUMBER = 8.7
PROJECT_NUMBER = 8.6
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a

View File

@ -257,9 +257,9 @@ poly1305.cpp
poly1305.h
polynomi.cpp
polynomi.h
power7_ppc.cpp
power8_ppc.cpp
power9_ppc.cpp
ppc_power7.cpp
ppc_power8.cpp
ppc_power9.cpp
ppc_simd.cpp
ppc_simd.h
pssr.cpp
@ -587,7 +587,6 @@ TestPrograms/test_32bit.cpp
TestPrograms/test_64bit.cpp
TestPrograms/test_arm_acle_header.cpp
TestPrograms/test_arm_aes.cpp
TestPrograms/test_arm_armv7.cpp
TestPrograms/test_arm_asimd.cpp
TestPrograms/test_arm_crc.cpp
TestPrograms/test_arm_neon.cpp

View File

@ -1,3 +1,4 @@
###########################################################
##### System Attributes and Programs #####
###########################################################
@ -98,15 +99,15 @@ endif
# Hack to skip CPU feature tests for some recipes
DETECT_FEATURES ?= 1
ifneq ($(findstring -DCRYPTOPP_DISABLE_ASM,$(CRYPTOPP_CPPFLAGS)$(CPPFLAGS)$(CXXFLAGS)),)
ifeq ($(findstring -DCRYPTOPP_DISABLE_ASM,$(CXXFLAGS)),-DCRYPTOPP_DISABLE_ASM)
DETECT_FEATURES := 0
else ifneq ($(findstring clean,$(MAKECMDGOALS)),)
else ifeq ($(findstring clean,$(MAKECMDGOALS)),clean)
DETECT_FEATURES := 0
else ifneq ($(findstring distclean,$(MAKECMDGOALS)),)
else ifeq ($(findstring distclean,$(MAKECMDGOALS)),distclean)
DETECT_FEATURES := 0
else ifneq ($(findstring trim,$(MAKECMDGOALS)),)
else ifeq ($(findstring trim,$(MAKECMDGOALS)),trim)
DETECT_FEATURES := 0
else ifneq ($(findstring zip,$(MAKECMDGOALS)),)
else ifeq ($(findstring zip,$(MAKECMDGOALS)),zip)
DETECT_FEATURES := 0
endif
@ -120,7 +121,7 @@ endif
# TCOMMAND is used for just about all tests. Make will lazy-evaluate
# the variables when executed by $(shell $(TCOMMAND) ...).
TCOMMAND = $(CXX) -I. $(TCXXFLAGS) $(TEXTRA) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT)
TCOMMAND = $(CXX) $(TCXXFLAGS) $(TEXTRA) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT)
# Fixup AIX
ifeq ($(IS_AIX),1)
@ -141,39 +142,23 @@ endif
##### General Variables #####
###########################################################
# Base CPPFLAGS and CXXFLAGS used if the user did not specify them
ifeq ($(filter -DDEBUG -DNDEBUG,$(CPPFLAGS)$(CXXFLAGS)),)
CRYPTOPP_CPPFLAGS += -DNDEBUG
endif
ifeq ($(filter -g%,$(CPPFLAGS)$(CXXFLAGS)),)
# Base CXXFLAGS used if the user did not specify them
ifeq ($(CXXFLAGS),)
ifeq ($(SUN_COMPILER),1)
CRYPTOPP_CXXFLAGS += -g
else
CRYPTOPP_CXXFLAGS += -g2
endif
endif
ifeq ($(filter -O% -xO%,$(CPPFLAGS)$(CXXFLAGS)),)
ifeq ($(SUN_COMPILER),1)
CRYPTOPP_CXXFLAGS += -xO3
CRYPTOPP_CXXFLAGS += -DNDEBUG -g -xO3
ZOPT = -xO0
else
CRYPTOPP_CXXFLAGS += -O3
CRYPTOPP_CXXFLAGS += -DNDEBUG -g2 -O3
ZOPT = -O0
endif
endif
# Needed when the assembler is invoked
ifeq ($(findstring -Wa,--noexecstack,$(ASFLAGS)$(CXXFLAGS)),)
CRYPTOPP_ASFLAGS += -Wa,--noexecstack
endif
# Fix CXX on Cygwin 1.1.4
ifeq ($(CXX),gcc)
CXX := g++
CXX := g++
endif
# On ARM we may compile aes_armv4.S, sha1_armv4.S, sha256_armv4.S, and
# sha512_armv4.S through the CC compiler
# On ARM we may compile aes_armv4.S though the CC compiler
ifeq ($(GCC_COMPILER),1)
CC=gcc
else ifeq ($(CLANG_COMPILER),1)
@ -217,11 +202,11 @@ endif
# Original MinGW targets Win2k by default, but lacks proper Win2k support
# if target Windows version is not specified, use Windows XP instead
ifeq ($(IS_MINGW),1)
ifeq ($(findstring -D_WIN32_WINNT,$(CRYPTOPP_CPPFLAGS)$(CPPFLAGS)$(CXXFLAGS)),)
ifeq ($(findstring -D_WIN32_WINDOWS,$(CRYPTOPP_CPPFLAGS)$(CPPFLAGS)$(CXXFLAGS)),)
ifeq ($(findstring -DWINVER,$(CRYPTOPP_CPPFLAGS)$(CPPFLAGS)$(CXXFLAGS)),)
ifeq ($(findstring -DNTDDI_VERSION,$(CRYPTOPP_CPPFLAGS)$(CPPFLAGS)$(CXXFLAGS)),)
CRYPTOPP_CPPFLAGS += -D_WIN32_WINNT=0x0501
ifeq ($(findstring -D_WIN32_WINNT,$(CXXFLAGS)),)
ifeq ($(findstring -D_WIN32_WINDOWS,$(CXXFLAGS)),)
ifeq ($(findstring -DWINVER,$(CXXFLAGS)),)
ifeq ($(findstring -DNTDDI_VERSION,$(CXXFLAGS)),)
CRYPTOPP_CXXFLAGS += -D_WIN32_WINNT=0x0501
endif # NTDDI_VERSION
endif # WINVER
endif # _WIN32_WINDOWS
@ -233,8 +218,8 @@ TPROG = TestPrograms/test_newlib.cpp
TOPT =
HAVE_OPT = $(shell $(TCOMMAND) 2>&1 | wc -w)
ifeq ($(strip $(HAVE_OPT)),0)
ifeq ($(findstring -D_XOPEN_SOURCE,$(CRYPTOPP_CPPFLAGS)$(CPPFLAGS)$(CXXFLAGS)),)
CRYPTOPP_CPPFLAGS += -D_XOPEN_SOURCE=600
ifeq ($(findstring -D_XOPEN_SOURCE,$(CXXFLAGS)),)
CRYPTOPP_CXXFLAGS += -D_XOPEN_SOURCE=600
endif
endif
@ -298,7 +283,7 @@ ifeq ($(DETECT_FEATURES),1)
endif
ifeq ($(SSE2_FLAG),)
CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_ASM
CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_ASM
endif
# Need SSE2 or higher for these tests
@ -407,33 +392,33 @@ ifeq ($(DETECT_FEATURES),1)
endif
ifeq ($(SSE3_FLAG),)
CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_SSE3
CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_SSE3
else ifeq ($(SSSE3_FLAG),)
CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_SSSE3
CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_SSSE3
else ifeq ($(SSE41_FLAG),)
CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_SSE4
CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_SSE4
else ifeq ($(SSE42_FLAG),)
CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_SSE4
CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_SSE4
endif
ifneq ($(SSE42_FLAG),)
# Unusual GCC/Clang on Macports. It assembles AES, but not CLMUL.
# test_x86_clmul.s:15: no such instruction: 'pclmulqdq $0, %xmm1,%xmm0'
ifeq ($(CLMUL_FLAG),)
CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_CLMUL
CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_CLMUL
endif
ifeq ($(AESNI_FLAG),)
CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_AESNI
CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_AESNI
endif
ifeq ($(AVX_FLAG),)
CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_AVX
CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_AVX
else ifeq ($(AVX2_FLAG),)
CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_AVX2
CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_AVX2
endif
# SHANI independent of AVX per GH #1045
ifeq ($(SHANI_FLAG),)
CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_SHANI
CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_SHANI
endif
endif
@ -452,7 +437,7 @@ ifeq ($(DETECT_FEATURES),1)
#TOPT =
#HAVE_OPT = $(shell $(TCOMMAND) 2>&1 | wc -w)
#ifneq ($(strip $(HAVE_OPT)),0)
# CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_MIXED_ASM
# CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_MIXED_ASM
#endif
# SSE2_FLAGS
@ -468,19 +453,19 @@ ifneq ($(INTEL_COMPILER),0)
# "internal error: backend signals" occurs on some x86 inline assembly with ICC 9 and
# some x64 inline assembly with ICC 11.0. If you want to use Crypto++'s assembly code
# with ICC, try enabling it on individual files
CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_ASM
CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_ASM
endif
endif
# Allow use of "/" operator for GNU Assembler.
# http://sourceware.org/bugzilla/show_bug.cgi?id=4572
ifeq ($(findstring -DCRYPTOPP_DISABLE_ASM,$(CRYPTOPP_CPPFLAGS)$(CPPFLAGS)$(CXXFLAGS)),)
ifeq ($(findstring -DCRYPTOPP_DISABLE_ASM,$(CXXFLAGS)),)
ifeq ($(IS_SUN)$(GCC_COMPILER),11)
CRYPTOPP_CXXFLAGS += -Wa,--divide
endif
endif
# IS_X86 and IS_X64
# IS_X86, IS_X32 and IS_X64
endif
###########################################################
@ -488,12 +473,6 @@ endif
###########################################################
ifneq ($(IS_ARM32),0)
# No need for feature detection on this platform if NEON is disabled
ifneq ($(findstring -DCRYPTOPP_DISABLE_ARM_NEON,$(CRYPTOPP_CPPFLAGS)$(CPPFLAGS)$(CXXFLAGS)),)
DETECT_FEATURES := 0
endif
ifeq ($(DETECT_FEATURES),1)
# Clang needs an option to include <arm_neon.h>
@ -522,13 +501,13 @@ ifeq ($(DETECT_FEATURES),1)
else
# Make does not have useful debugging facilities. Show the user
# what happened by compiling again without the pipe.
# $(info Running make again to see what failed)
# $(info $(shell $(TCOMMAND)))
$(info Running make again to see what failed)
$(info $(shell $(TCOMMAND)))
NEON_FLAG =
endif
ifeq ($(NEON_FLAG),)
CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_ARM_NEON
CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_ASM
endif
# DETECT_FEATURES
@ -581,7 +560,7 @@ ifeq ($(DETECT_FEATURES),1)
endif
ifeq ($(ASIMD_FLAG),)
CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_ASM
CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_ASM
endif
ifneq ($(ASIMD_FLAG),)
@ -591,7 +570,7 @@ ifeq ($(DETECT_FEATURES),1)
ifeq ($(strip $(HAVE_OPT)),0)
CRC_FLAG = -march=armv8-a+crc
else
CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_ARM_CRC32
CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_ARM_CRC32
endif
TPROG = TestPrograms/test_arm_aes.cpp
@ -600,7 +579,7 @@ ifeq ($(DETECT_FEATURES),1)
ifeq ($(strip $(HAVE_OPT)),0)
AES_FLAG = -march=armv8-a+crypto
else
CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_ARM_AES
CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_ARM_AES
endif
TPROG = TestPrograms/test_arm_pmull.cpp
@ -610,7 +589,7 @@ ifeq ($(DETECT_FEATURES),1)
GCM_FLAG = -march=armv8-a+crypto
GF2N_FLAG = -march=armv8-a+crypto
else
CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_ARM_PMULL
CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_ARM_PMULL
endif
TPROG = TestPrograms/test_arm_sha1.cpp
@ -619,7 +598,7 @@ ifeq ($(DETECT_FEATURES),1)
ifeq ($(strip $(HAVE_OPT)),0)
SHA_FLAG = -march=armv8-a+crypto
else
CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_ARM_SHA1
CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_ARM_SHA1
endif
TPROG = TestPrograms/test_arm_sha256.cpp
@ -628,7 +607,7 @@ ifeq ($(DETECT_FEATURES),1)
ifeq ($(strip $(HAVE_OPT)),0)
SHA_FLAG = -march=armv8-a+crypto
else
CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_ARM_SHA2
CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_ARM_SHA2
endif
TPROG = TestPrograms/test_arm_sm3.cpp
@ -638,8 +617,8 @@ ifeq ($(DETECT_FEATURES),1)
SM3_FLAG = -march=armv8.4-a+sm3
SM4_FLAG = -march=armv8.4-a+sm3
else
#CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_ARM_SM3
#CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_ARM_SM4
#CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_ARM_SM3
#CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_ARM_SM4
endif
TPROG = TestPrograms/test_arm_sha3.cpp
@ -648,7 +627,7 @@ ifeq ($(DETECT_FEATURES),1)
ifeq ($(strip $(HAVE_OPT)),0)
SHA3_FLAG = -march=armv8.4-a+sha3
else
#CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_ARM_SHA3
#CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_ARM_SHA3
endif
TPROG = TestPrograms/test_arm_sha512.cpp
@ -657,7 +636,7 @@ ifeq ($(DETECT_FEATURES),1)
ifeq ($(strip $(HAVE_OPT)),0)
SHA512_FLAG = -march=armv8.4-a+sha512
else
#CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_ARM_SHA512
#CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_ARM_SHA512
endif
# ASIMD_FLAG
@ -809,13 +788,13 @@ ifeq ($(DETECT_FEATURES),1)
# Fixups for missing ISAs
ifeq ($(ALTIVEC_FLAG),)
CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_ALTIVEC
CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_ALTIVEC
else ifeq ($(POWER7_FLAG),)
CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_POWER7
CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_POWER7
else ifeq ($(POWER8_FLAG),)
CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_POWER8
CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_POWER8
#else ifeq ($(POWER9_FLAG),)
# CRYPTOPP_CPPFLAGS += -DCRYPTOPP_DISABLE_POWER9
# CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_POWER9
endif
# DETECT_FEATURES
@ -940,7 +919,7 @@ endif
# http://www.oracle.com/technetwork/server-storage/solaris/hwcap-modification-139536.html
ifeq ($(IS_SUN)$(SUN_COMPILER),11)
ifneq ($(IS_X86)$(IS_X64),00)
ifeq ($(findstring -DCRYPTOPP_DISABLE_ASM,$(CRYPTOPP_CPPFLAGS)$(CPPFLAGS)$(CXXFLAGS)),)
ifeq ($(findstring -DCRYPTOPP_DISABLE_ASM,$(CRYPTOPP_CXXFLAGS) $(CXXFLAGS)),)
CRYPTOPP_LDFLAGS += -M cryptopp.mapfile
endif # No CRYPTOPP_DISABLE_ASM
endif # X86/X32/X64
@ -962,13 +941,20 @@ SUN_CC10_BUGGY := $(shell $(CXX) -V 2>&1 | $(GREP) -c -E "CC: Sun .* 5\.10 .* (2
ifneq ($(SUN_CC10_BUGGY),0)
# -DCRYPTOPP_INCLUDE_VECTOR_CC is needed for Sun Studio 12u1 Sun C++ 5.10 SunOS_i386 128229-02 2009/09/21
# and was fixed in May 2010. Remove it if you get "already had a body defined" errors in vector.cc
CRYPTOPP_CPPFLAGS += -DCRYPTOPP_INCLUDE_VECTOR_CC
CRYPTOPP_CXXFLAGS += -DCRYPTOPP_INCLUDE_VECTOR_CC
endif
AR = $(CXX)
ARFLAGS = -xar -o
RANLIB = true
endif
# No ASM for Travis testing
ifeq ($(findstring no-asm,$(MAKECMDGOALS)),no-asm)
ifeq ($(findstring -DCRYPTOPP_DISABLE_ASM,$(CRYPTOPP_CXXFLAGS) $(CXXFLAGS)),)
CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_ASM
endif # CRYPTOPP_CXXFLAGS
endif # No ASM
# Native build testing. Issue 'make native'.
ifeq ($(findstring native,$(MAKECMDGOALS)),native)
NATIVE_OPT =
@ -1012,10 +998,10 @@ ifeq ($(findstring ubsan,$(MAKECMDGOALS)),ubsan)
CRYPTOPP_CXXFLAGS := $(CRYPTOPP_CXXFLAGS:-xO%=-xO1)
ifeq ($(findstring -fsanitize=undefined,$(CXXFLAGS)),)
CRYPTOPP_CXXFLAGS += -fsanitize=undefined
endif # CRYPTOPP_CPPFLAGS
ifeq ($(findstring -DCRYPTOPP_COVERAGE,$(CRYPTOPP_CPPFLAGS)$(CPPFLAGS)$(CXXFLAGS)),)
CRYPTOPP_CPPFLAGS += -DCRYPTOPP_COVERAGE
endif # CRYPTOPP_CPPFLAGS
endif # CRYPTOPP_CXXFLAGS
ifeq ($(findstring -DCRYPTOPP_COVERAGE,$(CXXFLAGS)),)
CRYPTOPP_CXXFLAGS += -DCRYPTOPP_COVERAGE
endif # CRYPTOPP_CXXFLAGS
endif # UBsan
# Address Sanitizer (Asan) testing. Issue 'make asan'.
@ -1026,9 +1012,9 @@ ifeq ($(findstring asan,$(MAKECMDGOALS)),asan)
ifeq ($(findstring -fsanitize=address,$(CXXFLAGS)),)
CRYPTOPP_CXXFLAGS += -fsanitize=address
endif # CRYPTOPP_CXXFLAGS
ifeq ($(findstring -DCRYPTOPP_COVERAGE,$(CRYPTOPP_CPPFLAGS)$(CPPFLAGS)$(CXXFLAGS)),)
CRYPTOPP_CPPFLAGS += -DCRYPTOPP_COVERAGE
endif # CRYPTOPP_CPPFLAGS
ifeq ($(findstring -DCRYPTOPP_COVERAGE,$(CXXFLAGS)),)
CRYPTOPP_CXXFLAGS += -DCRYPTOPP_COVERAGE
endif # CRYPTOPP_CXXFLAGS
ifeq ($(findstring -fno-omit-frame-pointer,$(CXXFLAGS)),)
CRYPTOPP_CXXFLAGS += -fno-omit-frame-pointer
endif # CRYPTOPP_CXXFLAGS
@ -1050,8 +1036,8 @@ ifneq ($(filter lcov coverage,$(MAKECMDGOALS)),)
CRYPTOPP_CXXFLAGS := $(CRYPTOPP_CXXFLAGS:-g%=-g3)
CRYPTOPP_CXXFLAGS := $(CRYPTOPP_CXXFLAGS:-O%=-O1)
CRYPTOPP_CXXFLAGS := $(CRYPTOPP_CXXFLAGS:-xO%=-xO1)
ifeq ($(findstring -DCRYPTOPP_COVERAGE,$(CRYPTOPP_CPPFLAGS)$(CPPFLAGS)$(CXXFLAGS)),)
CRYPTOPP_CPPFLAGS += -DCRYPTOPP_COVERAGE
ifeq ($(findstring -DCRYPTOPP_COVERAGE,$(CXXFLAGS)),)
CRYPTOPP_CXXFLAGS += -DCRYPTOPP_COVERAGE
endif # CRYPTOPP_COVERAGE
ifeq ($(findstring -coverage,$(CXXFLAGS)),)
CRYPTOPP_CXXFLAGS += -coverage
@ -1063,8 +1049,8 @@ ifneq ($(filter gcov codecov,$(MAKECMDGOALS)),)
CRYPTOPP_CXXFLAGS := $(CRYPTOPP_CXXFLAGS:-g%=-g3)
CRYPTOPP_CXXFLAGS := $(CRYPTOPP_CXXFLAGS:-O%=-O1)
CRYPTOPP_CXXFLAGS := $(CRYPTOPP_CXXFLAGS:-xO%=-xO1)
ifeq ($(findstring -DCRYPTOPP_COVERAGE,$(CRYPTOPP_CPPFLAGS)$(CPPFLAGS)$(CXXFLAGS)),)
CRYPTOPP_CPPFLAGS += -DCRYPTOPP_COVERAGE
ifeq ($(findstring -DCRYPTOPP_COVERAGE,$(CXXFLAGS)),)
CRYPTOPP_CXXFLAGS += -DCRYPTOPP_COVERAGE
endif # CRYPTOPP_COVERAGE
ifeq ($(findstring -coverage,$(CXXFLAGS)),)
CRYPTOPP_CXXFLAGS += -coverage
@ -1077,22 +1063,22 @@ ifneq ($(filter valgrind,$(MAKECMDGOALS)),)
CRYPTOPP_CXXFLAGS := $(CRYPTOPP_CXXFLAGS:-g%=-g3)
CRYPTOPP_CXXFLAGS := $(CRYPTOPP_CXXFLAGS:-O%=-O1)
CRYPTOPP_CXXFLAGS := $(CRYPTOPP_CXXFLAGS:-xO%=-xO1)
ifeq ($(findstring -DCRYPTOPP_COVERAGE,$(CRYPTOPP_CPPFLAGS)$(CPPFLAGS)$(CXXFLAGS)),)
CRYPTOPP_CPPFLAGS += -DCRYPTOPP_COVERAGE
endif # CRYPTOPP_CPPFLAGS
ifeq ($(findstring -DCRYPTOPP_COVERAGE,$(CXXFLAGS)),)
CRYPTOPP_CXXFLAGS += -DCRYPTOPP_COVERAGE
endif # -DCRYPTOPP_COVERAGE
endif # Valgrind
# Debug testing on GNU systems. Triggered by -DDEBUG.
# Newlib test due to http://sourceware.org/bugzilla/show_bug.cgi?id=20268
ifneq ($(filter -DDEBUG -DDEBUG=1,$(CPPFLAGS)$(CXXFLAGS)),)
ifneq ($(filter -DDEBUG -DDEBUG=1,$(CXXFLAGS)),)
TPROG = TestPrograms/test_cxx.cpp
TOPT =
USING_GLIBCXX := $(shell $(CXX) $(CPPFLAGS) $(CXXFLAGS) -E $(TPROG) -c 2>&1 | $(GREP) -i -c "__GLIBCXX__")
USING_GLIBCXX := $(shell $(CXX)$(CXXFLAGS) -E $(TPROG) -c 2>&1 | $(GREP) -i -c "__GLIBCXX__")
ifneq ($(USING_GLIBCXX),0)
ifeq ($(HAS_NEWLIB),0)
ifeq ($(findstring -D_GLIBCXX_DEBUG,$(CRYPTOPP_CPPFLAGS)$(CPPFLAGS)$(CXXFLAGS)),)
CRYPTOPP_CPPFLAGS += -D_GLIBCXX_DEBUG
endif # CRYPTOPP_CPPFLAGS
ifeq ($(findstring -D_GLIBCXX_DEBUG,$(CXXFLAGS)),)
CRYPTOPP_CXXFLAGS += -D_GLIBCXX_DEBUG
endif # CRYPTOPP_CXXFLAGS
endif # HAS_NEWLIB
endif # USING_GLIBCXX
@ -1101,7 +1087,7 @@ ifneq ($(filter -DDEBUG -DDEBUG=1,$(CPPFLAGS)$(CXXFLAGS)),)
TOPT = -qheapdebug -qro
HAVE_OPT = $(shell $(TCOMMAND) 2>&1 | wc -w)
ifeq ($(strip $(HAVE_OPT)),0)
CRYPTOPP_CXXFLAGS += -qheapdebug -qro
CRYPTOPP_CXXFLAGS += -qheapdebug -qro
endif # CRYPTOPP_CXXFLAGS
endif # XLC_COMPILER
endif # Debug build
@ -1183,54 +1169,30 @@ ifneq ($(IS_MINGW),0)
INCL += resource.h
endif
# Cryptogams source files. We couple to ARMv7 and NEON due to SHA using NEON.
# Cryptogams source files. We couple to ARMv7.
# Limit to Linux. The source files target the GNU assembler.
# Also see https://www.cryptopp.com/wiki/Cryptogams.
ifeq ($(IS_ARM32)$(IS_LINUX),11)
ifeq ($(filter -DCRYPTOPP_DISABLE_ASM -DCRYPTOPP_DISABLE_ARM_NEON,$(CRYPTOPP_CPPFLAGS)$(CPPFLAGS)$(CXXFLAGS)),)
# Do not use -march=armv7 if the compiler is already targeting the ISA.
# Also see https://github.com/weidai11/cryptopp/issues/1094
ifeq ($(shell $(CXX) -dM -E TestPrograms/test_cxx.cpp 2>/dev/null | grep -E '__ARM_ARCH 7|__ARM_ARCH_7A__'),)
CRYPTOGAMS_ARMV7_FLAG = -march=armv7-a
endif
ifeq ($(CLANG_COMPILER),1)
CRYPTOGAMS_ARM_FLAG = $(CRYPTOGAMS_ARMV7_FLAG)
CRYPTOGAMS_ARM_THUMB_FLAG = $(CRYPTOGAMS_ARMV7_FLAG) -mthumb
else
# -mfpu=auto due to https://github.com/weidai11/cryptopp/issues/1094
CRYPTOGAMS_ARM_FLAG = $(CRYPTOGAMS_ARMV7_FLAG)
CRYPTOGAMS_ARM_THUMB_FLAG = $(CRYPTOGAMS_ARMV7_FLAG)
endif
SRCS += aes_armv4.S sha1_armv4.S sha256_armv4.S sha512_armv4.S
ifeq ($(CLANG_COMPILER),1)
CRYPTOGAMS_ARMV4_FLAG = -march=armv7-a -Wa,--noexecstack
CRYPTOGAMS_ARMV4_THUMB_FLAG = -march=armv7-a -mthumb -Wa,--noexecstack
else
CRYPTOGAMS_ARMV4_FLAG = -march=armv7-a -Wa,--noexecstack
CRYPTOGAMS_ARMV4_THUMB_FLAG = -march=armv7-a -Wa,--noexecstack
endif
SRCS += aes_armv4.S sha1_armv4.S sha256_armv4.S sha512_armv4.S
endif
# Remove unneeded arch specific files to speed build time.
ifeq ($(IS_PPC32)$(IS_PPC64),00)
SRCS := $(filter-out %_ppc.cpp,$(SRCS))
SRCS := $(filter-out ppc_%,$(SRCS))
endif
ifeq ($(IS_ARM32)$(IS_ARMV8),00)
SRCS := $(filter-out arm_%,$(SRCS))
SRCS := $(filter-out neon_%,$(SRCS))
SRCS := $(filter-out %_armv4.S,$(SRCS))
endif
ifeq ($(IS_X86)$(IS_X64),00)
ifeq ($(IS_X86)$(IS_X32)$(IS_X64),000)
SRCS := $(filter-out sse_%,$(SRCS))
SRCS := $(filter-out %_sse.cpp,$(SRCS))
SRCS := $(filter-out %_avx.cpp,$(SRCS))
endif
# If ASM is disabled we can remove the SIMD files, too.
ifneq ($(findstring -DCRYPTOPP_DISABLE_ASM,$(CRYPTOPP_CPPFLAGS)$(CPPFLAGS)$(CXXFLAGS)),)
SRCS := $(filter-out arm_%,$(SRCS))
SRCS := $(filter-out ppc_%,$(SRCS))
SRCS := $(filter-out neon_%,$(SRCS))
SRCS := $(filter-out sse_%,$(SRCS))
SRCS := $(filter-out %_sse.cpp,$(SRCS))
SRCS := $(filter-out %_avx.cpp,$(SRCS))
SRCS := $(filter-out %_ppc.cpp,$(SRCS))
SRCS := $(filter-out %_simd.cpp,$(SRCS))
SRCS := $(filter-out %_armv4.S,$(SRCS))
endif
# List cryptlib.cpp first, then cpu.cpp, then integer.cpp to tame C++ static initialization problems.
@ -1272,8 +1234,7 @@ CLEAN_OBJS := $(CLEAN_SRCS:.cpp=.o) $(CLEAN_SRCS:.cpp=.import.o) $(CLEAN_SRCS:.c
# argument to the make program: make CXXFLAGS="..."
CPPFLAGS := $(strip $(CRYPTOPP_CPPFLAGS) $(CPPFLAGS))
CXXFLAGS := $(strip $(CRYPTOPP_CXXFLAGS) $(CXXFLAGS))
ASFLAGS := $(strip $(CRYPTOPP_ASFLAGS) $(ASFLAGS))
LDFLAGS := $(strip $(CRYPTOPP_LDFLAGS) $(LDFLAGS))
LDFLAGS := $(strip $(CRYPTOPP_LDFLAGS) $(LDFLAGS))
###########################################################
##### Targets and Recipes #####
@ -1384,7 +1345,7 @@ clean:
.PHONY: autotools-clean
autotools-clean:
@-$(RM) -f bootstrap.sh configure.ac configure configure.in Makefile.am Makefile.in Makefile
@-$(RM) -f configure.ac configure configure.in Makefile.am Makefile.in Makefile
@-$(RM) -f config.guess config.status config.sub config.h.in compile depcomp
@-$(RM) -f install-sh stamp-h1 ar-lib *.lo *.la *.m4 local.* lt*.sh missing
@-$(RM) -f cryptest cryptestcwd libtool* libcryptopp.la libcryptopp.pc*
@ -1451,7 +1412,6 @@ ifneq ($(wildcard libcryptopp.so$(SOLIB_VERSION_SUFFIX)),)
$(CHMOD) u=rwx,go=rx $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_VERSION_SUFFIX)
ifeq ($(HAS_SOLIB_VERSION),1)
-$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)/libcryptopp.so
-$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_COMPAT_SUFFIX)
$(LDCONF) $(DESTDIR)$(LIBDIR)
endif
endif
@ -1539,7 +1499,7 @@ cryptopp.pc libcryptopp.pc:
@echo '' >> libcryptopp.pc
@echo 'Name: Crypto++' >> libcryptopp.pc
@echo 'Description: Crypto++ cryptographic library' >> libcryptopp.pc
@echo 'Version: 8.7' >> libcryptopp.pc
@echo 'Version: 8.6' >> libcryptopp.pc
@echo 'URL: https://cryptopp.com/' >> libcryptopp.pc
@echo '' >> libcryptopp.pc
@echo 'Cflags: -I$${includedir}' >> libcryptopp.pc
@ -1548,9 +1508,6 @@ cryptopp.pc libcryptopp.pc:
# This recipe prepares the distro files
TEXT_FILES := *.h *.cpp *.S GNUmakefile GNUmakefile-cross License.txt Readme.txt Install.txt Filelist.txt Doxyfile cryptest* cryptlib* dlltest* cryptdll* *.sln *.vcxproj *.filters cryptopp.rc TestVectors/*.txt TestData/*.dat TestPrograms/*.cpp
EXEC_FILES := TestScripts/*.sh TestScripts/*.cmd
ifneq ($(wildcard *.sh),)
EXEC_FILES += $(wildcard *.sh)
endif
EXEC_DIRS := TestData/ TestVectors/ TestScripts/ TestPrograms/
ifeq ($(wildcard Filelist.txt),Filelist.txt)
@ -1575,7 +1532,7 @@ endif
convert:
@-$(CHMOD) u=rwx,go=rx $(EXEC_DIRS)
@-$(CHMOD) u=rw,go=r $(TEXT_FILES) *.supp .*.yml *.asm *.zip TestVectors/*.txt TestData/*.dat TestPrograms/*.cpp
@-$(CHMOD) u=rwx,go=rx $(EXEC_FILES)
@-$(CHMOD) u=rwx,go=rx $(EXEC_FILES) *.sh
-unix2dos --keepdate --quiet $(TEXT_FILES) .*.yml *.asm TestScripts/*.cmd TestScripts/*.txt TestScripts/*.cpp
-dos2unix --keepdate --quiet GNUmakefile GNUmakefile-cross *.sh *.S *.supp *.mapfile TestScripts/*.sh
ifneq ($(IS_DARWIN),0)
@ -1626,7 +1583,7 @@ NOSTD_CXXFLAGS=$(filter-out -stdlib=%,$(filter-out -std=%,$(CXXFLAGS)))
# Cryptogams ARM asm implementation. AES needs -mthumb for Clang
aes_armv4.o : aes_armv4.S
$(CXX) $(strip $(CPPFLAGS) $(ASFLAGS) $(NOSTD_CXXFLAGS) $(CRYPTOGAMS_ARM_THUMB_FLAG) -c) $<
$(CXX) $(strip $(CPPFLAGS) $(NOSTD_CXXFLAGS) $(CRYPTOGAMS_ARMV4_THUMB_FLAG) -c) $<
# SSSE3 or NEON available
aria_simd.o : aria_simd.cpp
@ -1704,6 +1661,18 @@ neon_simd.o : neon_simd.cpp
ppc_simd.o : ppc_simd.cpp
$(CXX) $(strip $(CPPFLAGS) $(CXXFLAGS) $(ALTIVEC_FLAG) -c) $<
# Power7 available
ppc_power7.o : ppc_power7.cpp
$(CXX) $(strip $(CPPFLAGS) $(CXXFLAGS) $(POWER7_FLAG) -c) $<
# Power8 available
ppc_power8.o : ppc_power8.cpp
$(CXX) $(strip $(CPPFLAGS) $(CXXFLAGS) $(POWER8_FLAG) -c) $<
# Power9 available
ppc_power9.o : ppc_power9.cpp
$(CXX) $(strip $(CPPFLAGS) $(CXXFLAGS) $(POWER9_FLAG) -c) $<
# AESNI or ARMv7a/ARMv8a available
rijndael_simd.o : rijndael_simd.cpp
$(CXX) $(strip $(CPPFLAGS) $(CXXFLAGS) $(AES_FLAG) -c) $<
@ -1712,9 +1681,17 @@ rijndael_simd.o : rijndael_simd.cpp
sha_simd.o : sha_simd.cpp
$(CXX) $(strip $(CPPFLAGS) $(CXXFLAGS) $(SHA_FLAG) -c) $<
# Cryptogams SHA1/SHA256/SHA512 asm implementation.
sha%_armv4.o : sha%_armv4.S
$(CXX) $(strip $(CPPFLAGS) $(ASFLAGS) $(NOSTD_CXXFLAGS) $(CRYPTOGAMS_ARM_FLAG) -c) $<
# Cryptogams SHA1 asm implementation.
sha1_armv4.o : sha1_armv4.S
$(CXX) $(strip $(CPPFLAGS) $(NOSTD_CXXFLAGS) $(CRYPTOGAMS_ARMV4_FLAG) -c) $<
# Cryptogams SHA256 asm implementation.
sha256_armv4.o : sha256_armv4.S
$(CXX) $(strip $(CPPFLAGS) $(NOSTD_CXXFLAGS) $(CRYPTOGAMS_ARMV4_FLAG) -c) $<
# Cryptogams SHA512 asm implementation.
sha512_armv4.o : sha512_armv4.S
$(CXX) $(strip $(CPPFLAGS) $(NOSTD_CXXFLAGS) $(CRYPTOGAMS_ARMV4_FLAG) -c) $<
sha3_simd.o : sha3_simd.cpp
$(CXX) $(strip $(CPPFLAGS) $(CXXFLAGS) $(SHA3_FLAG) -c) $<
@ -1760,16 +1737,16 @@ rijndael.o : rijndael.cpp
endif
# Only use CRYPTOPP_DATA_DIR if its not set in CXXFLAGS
ifeq ($(findstring -DCRYPTOPP_DATA_DIR, $(CPPFLAGS)$(CXXFLAGS)),)
ifeq ($(findstring -DCRYPTOPP_DATA_DIR, $(CXXFLAGS)),)
ifneq ($(strip $(CRYPTOPP_DATA_DIR)),)
validat%.o : validat%.cpp
$(CXX) $(strip $(CPPFLAGS) -DCRYPTOPP_DATA_DIR=\"$(CRYPTOPP_DATA_DIR)\" $(CXXFLAGS) -c) $<
$(CXX) $(strip $(CPPFLAGS) $(CXXFLAGS) -DCRYPTOPP_DATA_DIR=\"$(CRYPTOPP_DATA_DIR)\" -c) $<
bench%.o : bench%.cpp
$(CXX) $(strip $(CPPFLAGS) -DCRYPTOPP_DATA_DIR=\"$(CRYPTOPP_DATA_DIR)\" $(CXXFLAGS) -c) $<
$(CXX) $(strip $(CPPFLAGS) $(CXXFLAGS) -DCRYPTOPP_DATA_DIR=\"$(CRYPTOPP_DATA_DIR)\" -c) $<
datatest.o : datatest.cpp
$(CXX) $(strip $(CPPFLAGS) -DCRYPTOPP_DATA_DIR=\"$(CRYPTOPP_DATA_DIR)\" $(CXXFLAGS) -c) $<
$(CXX) $(strip $(CPPFLAGS) $(CXXFLAGS) -DCRYPTOPP_DATA_DIR=\"$(CRYPTOPP_DATA_DIR)\" -c) $<
test.o : test.cpp
$(CXX) $(strip $(CPPFLAGS) -DCRYPTOPP_DATA_DIR=\"$(CRYPTOPP_DATA_DIR)\" $(CXXFLAGS) -c) $<
$(CXX) $(strip $(CPPFLAGS) $(CXXFLAGS) -DCRYPTOPP_DATA_DIR=\"$(CRYPTOPP_DATA_DIR)\" -c) $<
endif
endif
@ -1777,13 +1754,13 @@ validat1.o : validat1.cpp
$(CXX) $(strip $(CPPFLAGS) $(CXXFLAGS) $(ALTIVEC_FLAG) -c) $<
%.dllonly.o : %.cpp
$(CXX) $(strip $(CPPFLAGS) -DCRYPTOPP_DLL_ONLY $(CXXFLAGS) -c) $< -o $@
$(CXX) $(strip $(CPPFLAGS) $(CXXFLAGS) -DCRYPTOPP_DLL_ONLY -c) $< -o $@
%.import.o : %.cpp
$(CXX) $(strip $(CPPFLAGS) -DCRYPTOPP_IMPORTS $(CXXFLAGS) -c) $< -o $@
$(CXX) $(strip $(CPPFLAGS) $(CXXFLAGS) -DCRYPTOPP_IMPORTS -c) $< -o $@
%.export.o : %.cpp
$(CXX) $(strip $(CPPFLAGS) -DCRYPTOPP_EXPORTS $(CXXFLAGS) -c) $< -o $@
$(CXX) $(strip $(CPPFLAGS) $(CXXFLAGS) -DCRYPTOPP_EXPORTS -c) $< -o $@
%.bc : %.cpp
$(CXX) $(strip $(CPPFLAGS) $(CXXFLAGS) -c) $<

View File

@ -47,7 +47,7 @@ endif
IS_LINUX := $(shell echo $(MACHINEX) | $(GREP) -i -c "Linux")
# Can be used by Android and Embedded cross-compiles. Disable by default because
# Android and embedded users typically don't run this configuration.
# Android and embedded users typically don't run this configuration.
HAS_SOLIB_VERSION ?= 0
# Formerly adhoc.cpp was created from adhoc.cpp.proto when needed.
@ -60,19 +60,6 @@ endif
##### General Variables #####
###########################################################
# Needed when the assembler is invoked
ifeq ($(findstring -Wa,--noexecstack,$(ASFLAGS)$(CXXFLAGS)),)
ASFLAGS += -Wa,--noexecstack
endif
# On ARM we may compile aes_armv4.S, sha1_armv4.S, sha256_armv4.S, and
# sha512_armv4.S through the CC compiler
ifeq ($(GCC_COMPILER),1)
CC ?= gcc
else ifeq ($(CLANG_COMPILER),1)
CC ?= clang
endif
# http://www.gnu.org/prep/standards/html_node/Directory-Variables.html
ifeq ($(PREFIX),)
PREFIX = /usr/local
@ -100,7 +87,7 @@ endif
###########################################################
# MacOS cross-compile configuration.
# See http://www.cryptopp.com/wiki/MacOS_(Command_Line).
# See http://www.cryptopp.com/wiki/MacOS_(Command_Line).
ifeq ($(IS_MACOS),1)
# setenv-macos.sh sets CPPFLAGS, CXXFLAGS and LDFLAGS
IS_APPLE_LIBTOOL=$(shell libtool -V 2>&1 | $(GREP) -i -c 'Apple')
@ -117,7 +104,7 @@ endif
###########################################################
# iOS cross-compile configuration.
# See http://www.cryptopp.com/wiki/iOS_(Command_Line).
# See http://www.cryptopp.com/wiki/iOS_(Command_Line).
ifeq ($(IS_IOS),1)
# setenv-ios.sh sets CPPFLAGS, CXXFLAGS and LDFLAGS
AR = libtool
@ -129,7 +116,7 @@ endif
###########################################################
# Android cross-compile configuration.
# See http://www.cryptopp.com/wiki/Android_(Command_Line).
# See http://www.cryptopp.com/wiki/Android_(Command_Line).
ifeq ($(IS_ANDROID),1)
# setenv-android.sh sets CPPFLAGS, CXXFLAGS and LDFLAGS
@ -143,8 +130,8 @@ endif
###########################################################
# ARM embedded cross-compile configuration.
# See http://www.cryptopp.com/wiki/ARM_Embedded_(Command_Line)
# and http://www.cryptopp.com/wiki/ARM_Embedded_(Bare Metal).
# See http://www.cryptopp.com/wiki/ARM_Embedded_(Command_Line)
# and http://www.cryptopp.com/wiki/ARM_Embedded_(Bare Metal).
ifeq ($(IS_ARM_EMBEDDED),1)
# setenv-android.sh sets CPPFLAGS, CXXFLAGS and LDFLAGS
endif
@ -184,6 +171,7 @@ ifeq ($(IS_ARMV8),1)
IS_ARM32 = 0
endif
IS_X32 := 0
IS_PPC32 := 0
IS_PPC64 := 0
@ -196,15 +184,15 @@ IS_PPC64 := 0
# Hack to skip CPU feature tests for some recipes
DETECT_FEATURES ?= 1
ifneq ($(findstring -DCRYPTOPP_DISABLE_ASM,$(CPPFLAGS)$(CXXFLAGS)h),)
ifeq ($(findstring -DCRYPTOPP_DISABLE_ASM,$(CXXFLAGS)),-DCRYPTOPP_DISABLE_ASM)
DETECT_FEATURES := 0
else ifneq ($(findstring clean,$(MAKECMDGOALS)),)
else ifeq ($(findstring clean,$(MAKECMDGOALS)),clean)
DETECT_FEATURES := 0
else ifneq ($(findstring distclean,$(MAKECMDGOALS)),)
else ifeq ($(findstring distclean,$(MAKECMDGOALS)),distclean)
DETECT_FEATURES := 0
else ifneq ($(findstring trim,$(MAKECMDGOALS)),)
else ifeq ($(findstring trim,$(MAKECMDGOALS)),trim)
DETECT_FEATURES := 0
else ifneq ($(findstring zip,$(MAKECMDGOALS)),)
else ifeq ($(findstring zip,$(MAKECMDGOALS)),zip)
DETECT_FEATURES := 0
endif
@ -218,7 +206,7 @@ endif
# TCOMMAND is used for just about all tests. Make will lazy-evaluate
# the variables when executed by $(shell $(TCOMMAND) ...).
TCOMMAND = $(CXX) -I. $(TCXXFLAGS) $(TEXTRA) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT)
TCOMMAND = $(CXX) $(TCXXFLAGS) $(TEXTRA) $(ZOPT) $(TOPT) $(TPROG) -o $(TOUT)
###########################################################
##### X86/X32/X64 Options #####
@ -252,7 +240,7 @@ ifeq ($(DETECT_FEATURES),1)
endif
ifeq ($(SSE2_FLAG),)
CPPFLAGS += -DCRYPTOPP_DISABLE_ASM
CXXFLAGS += -DCRYPTOPP_DISABLE_ASM
endif
# Need SSE2 or higher for these tests
@ -348,33 +336,33 @@ ifeq ($(DETECT_FEATURES),1)
endif
ifeq ($(SSE3_FLAG),)
CPPFLAGS += -DCRYPTOPP_DISABLE_SSE3
CXXFLAGS += -DCRYPTOPP_DISABLE_SSE3
else ifeq ($(SSSE3_FLAG),)
CPPFLAGS += -DCRYPTOPP_DISABLE_SSSE3
CXXFLAGS += -DCRYPTOPP_DISABLE_SSSE3
else ifeq ($(SSE41_FLAG),)
CPPFLAGS += -DCRYPTOPP_DISABLE_SSE4
CXXFLAGS += -DCRYPTOPP_DISABLE_SSE4
else ifeq ($(SSE42_FLAG),)
CPPFLAGS += -DCRYPTOPP_DISABLE_SSE4
CXXFLAGS += -DCRYPTOPP_DISABLE_SSE4
endif
ifneq ($(SSE42_FLAG),)
# Unusual GCC/Clang on Macports. It assembles AES, but not CLMUL.
# test_x86_clmul.s:15: no such instruction: 'pclmulqdq $0, %xmm1,%xmm0'
ifeq ($(CLMUL_FLAG),)
CPPFLAGS += -DCRYPTOPP_DISABLE_CLMUL
CXXFLAGS += -DCRYPTOPP_DISABLE_CLMUL
endif
ifeq ($(AESNI_FLAG),)
CPPFLAGS += -DCRYPTOPP_DISABLE_AESNI
CXXFLAGS += -DCRYPTOPP_DISABLE_AESNI
endif
ifeq ($(AVX_FLAG),)
CPPFLAGS += -DCRYPTOPP_DISABLE_AVX
CXXFLAGS += -DCRYPTOPP_DISABLE_AVX
else ifeq ($(AVX2_FLAG),)
CPPFLAGS += -DCRYPTOPP_DISABLE_AVX2
CXXFLAGS += -DCRYPTOPP_DISABLE_AVX2
endif
# SHANI independent of AVX per GH #1045
ifeq ($(SHANI_FLAG),)
CPPFLAGS += -DCRYPTOPP_DISABLE_SHANI
CRYPTOPP_CXXFLAGS += -DCRYPTOPP_DISABLE_SHANI
endif
endif
@ -393,7 +381,7 @@ ifeq ($(DETECT_FEATURES),1)
#TOPT =
#HAVE_OPT = $(shell $(TCOMMAND) 2>&1 | wc -w)
#ifneq ($(strip $(HAVE_OPT)),0)
# CPPFLAGS += -DCRYPTOPP_DISABLE_MIXED_ASM
# CXXFLAGS += -DCRYPTOPP_DISABLE_MIXED_ASM
#endif
# SSE2_FLAGS
@ -402,7 +390,7 @@ ifeq ($(DETECT_FEATURES),1)
# DETECT_FEATURES
endif
# IS_X86 and IS_X64
# IS_X86, IS_X32 and IS_X64
endif
###########################################################
@ -410,12 +398,6 @@ endif
###########################################################
ifneq ($(IS_ARM32),0)
# No need for feature detection on this platform if NEON is disabled
ifneq ($(findstring -DCRYPTOPP_DISABLE_ARM_NEON,$(CPPFLAGS)$(CXXFLAGS)),)
DETECT_FEATURES := 0
endif
ifeq ($(DETECT_FEATURES),1)
# Android needs -c compile flag for NEON. Otherwise there's an odd linker message.
@ -453,13 +435,13 @@ ifeq ($(DETECT_FEATURES),1)
else
# Make does not have useful debugging facilities. Show the user
# what happened by compiling again without the pipe.
#$(info Running make again to see what failed)
#$(info $(shell $(TCOMMAND)))
$(info Running make again to see what failed)
$(info $(shell $(TCOMMAND)))
NEON_FLAG =
endif
ifeq ($(NEON_FLAG),)
CPPFLAGS += -DCRYPTOPP_DISABLE_ARM_NEON
CXXFLAGS += -DCRYPTOPP_DISABLE_ASM
endif
# DETECT_FEATURES
@ -526,7 +508,7 @@ ifeq ($(DETECT_FEATURES),1)
endif
ifeq ($(ASIMD_FLAG),)
CPPFLAGS += -DCRYPTOPP_DISABLE_ASM
CXXFLAGS += -DCRYPTOPP_DISABLE_ASM
endif
ifneq ($(ASIMD_FLAG),)
@ -536,7 +518,7 @@ ifeq ($(DETECT_FEATURES),1)
HAVE_OPT = $(shell $(TCOMMAND) 2>&1 | wc -w)
ifneq ($(strip $(HAVE_OPT)),0)
CRC_FLAG =
CPPFLAGS += -DCRYPTOPP_DISABLE_ARM_CRC32
CXXFLAGS += -DCRYPTOPP_DISABLE_ARM_CRC32
endif
TPROG = TestPrograms/test_arm_aes.cpp
@ -544,7 +526,7 @@ ifeq ($(DETECT_FEATURES),1)
HAVE_OPT = $(shell $(TCOMMAND) 2>&1 | wc -w)
ifneq ($(strip $(HAVE_OPT)),0)
AES_FLAG =
CPPFLAGS += -DCRYPTOPP_DISABLE_ARM_AES
CXXFLAGS += -DCRYPTOPP_DISABLE_ARM_AES
endif
TPROG = TestPrograms/test_arm_pmull.cpp
@ -553,7 +535,7 @@ ifeq ($(DETECT_FEATURES),1)
ifneq ($(strip $(HAVE_OPT)),0)
GCM_FLAG =
GF2N_FLAG =
CPPFLAGS += -DCRYPTOPP_DISABLE_ARM_PMULL
CXXFLAGS += -DCRYPTOPP_DISABLE_ARM_PMULL
endif
TPROG = TestPrograms/test_arm_sha1.cpp
@ -561,7 +543,7 @@ ifeq ($(DETECT_FEATURES),1)
HAVE_OPT = $(shell $(TCOMMAND) 2>&1 | wc -w)
ifneq ($(strip $(HAVE_OPT)),0)
SHA_FLAG =
CPPFLAGS += -DCRYPTOPP_DISABLE_ARM_SHA1
CXXFLAGS += -DCRYPTOPP_DISABLE_ARM_SHA1
endif
TPROG = TestPrograms/test_arm_sha256.cpp
@ -569,7 +551,7 @@ ifeq ($(DETECT_FEATURES),1)
HAVE_OPT = $(shell $(TCOMMAND) 2>&1 | wc -w)
ifneq ($(strip $(HAVE_OPT)),0)
SHA_FLAG =
CPPFLAGS += -DCRYPTOPP_DISABLE_ARM_SHA2
CXXFLAGS += -DCRYPTOPP_DISABLE_ARM_SHA2
endif
TPROG = TestPrograms/test_arm_sm3.cpp
@ -579,8 +561,8 @@ ifeq ($(DETECT_FEATURES),1)
SM3_FLAG = -march=armv8.4-a+sm3
SM4_FLAG = -march=armv8.4-a+sm3
else
#CPPFLAGS += -DCRYPTOPP_DISABLE_ARM_SM3
#CPPFLAGS += -DCRYPTOPP_DISABLE_ARM_SM4
#CXXFLAGS += -DCRYPTOPP_DISABLE_ARM_SM3
#CXXFLAGS += -DCRYPTOPP_DISABLE_ARM_SM4
endif
TPROG = TestPrograms/test_arm_sha3.cpp
@ -589,7 +571,7 @@ ifeq ($(DETECT_FEATURES),1)
ifeq ($(strip $(HAVE_OPT)),0)
SHA3_FLAG = -march=armv8.4-a+sha3
else
#CPPFLAGS += -DCRYPTOPP_DISABLE_ARM_SHA3
#CXXFLAGS += -DCRYPTOPP_DISABLE_ARM_SHA3
endif
TPROG = TestPrograms/test_arm_sha512.cpp
@ -598,7 +580,7 @@ ifeq ($(DETECT_FEATURES),1)
ifeq ($(strip $(HAVE_OPT)),0)
SHA512_FLAG = -march=armv8.4-a+sha512
else
#CPPFLAGS += -DCRYPTOPP_DISABLE_ARM_SHA512
#CXXFLAGS += -DCRYPTOPP_DISABLE_ARM_SHA512
endif
# ASIMD_FLAG
@ -613,14 +595,21 @@ endif
##### Common #####
###########################################################
# No ASM for Travis testing
ifeq ($(findstring no-asm,$(MAKECMDGOALS)),no-asm)
ifeq ($(findstring -DCRYPTOPP_DISABLE_ASM,$(CXXFLAGS)),)
CXXFLAGS += -DCRYPTOPP_DISABLE_ASM
endif # CXXFLAGS
endif # No ASM
# Undefined Behavior Sanitizer (UBsan) testing. Issue 'make ubsan'.
ifeq ($(findstring ubsan,$(MAKECMDGOALS)),ubsan)
ifeq ($(findstring -fsanitize=undefined,$(CXXFLAGS)),)
CXXFLAGS += -fsanitize=undefined
endif # CXXFLAGS
ifeq ($(findstring -DCRYPTOPP_COVERAGE,$(CPPFLAGS)$(CXXFLAGS)),)
CPPFLAGS += -DCRYPTOPP_COVERAGE
endif # CPPFLAGS
ifeq ($(findstring -DCRYPTOPP_COVERAGE,$(CXXFLAGS)),)
CXXFLAGS += -DCRYPTOPP_COVERAGE
endif # CXXFLAGS
endif # UBsan
# Address Sanitizer (Asan) testing. Issue 'make asan'.
@ -628,9 +617,9 @@ ifeq ($(findstring asan,$(MAKECMDGOALS)),asan)
ifeq ($(findstring -fsanitize=address,$(CXXFLAGS)),)
CXXFLAGS += -fsanitize=address
endif # CXXFLAGS
ifeq ($(findstring -DCRYPTOPP_COVERAGE,$(CPPFLAGS)$(CXXFLAGS)),)
CPPFLAGS += -DCRYPTOPP_COVERAGE
endif # CPPFLAGS
ifeq ($(findstring -DCRYPTOPP_COVERAGE,$(CXXFLAGS)),)
CXXFLAGS += -DCRYPTOPP_COVERAGE
endif # CXXFLAGS
ifeq ($(findstring -fno-omit-frame-pointer,$(CXXFLAGS)),)
CXXFLAGS += -fno-omit-frame-pointer
endif # CXXFLAGS
@ -652,20 +641,20 @@ ifneq ($(filter valgrind,$(MAKECMDGOALS)),)
CXXFLAGS := $(CXXFLAGS:-g%=-g3)
CXXFLAGS := $(CXXFLAGS:-O%=-O1)
CXXFLAGS := $(CXXFLAGS:-xO%=-xO1)
ifeq ($(findstring -DCRYPTOPP_COVERAGE,$(CPPFLAGS)$(CXXFLAGS)),)
CPPFLAGS += -DCRYPTOPP_COVERAGE
endif # CPPFLAGS
ifeq ($(findstring -DCRYPTOPP_COVERAGE,$(CXXFLAGS)),)
CXXFLAGS += -DCRYPTOPP_COVERAGE
endif # -DCRYPTOPP_COVERAGE
endif # Valgrind
# Debug testing on GNU systems. Triggered by -DDEBUG.
# Newlib test due to http://sourceware.org/bugzilla/show_bug.cgi?id=20268
ifneq ($(filter -DDEBUG -DDEBUG=1,$(CPPFLAGS) $(CXXFLAGS)),)
USING_GLIBCXX := $(shell $(CXX) $(CPPFLAGS) $(CXXFLAGS) -E pch.cpp 2>&1 | $(GREP) -i -c "__GLIBCXX__")
# Newlib test due to http://sourceware.org/bugzilla/show_bug.cgi?id=20268
ifneq ($(filter -DDEBUG -DDEBUG=1,$(CXXFLAGS)),)
USING_GLIBCXX := $(shell $(CXX) $(CXXFLAGS) -E pch.cpp 2>&1 | $(GREP) -i -c "__GLIBCXX__")
ifneq ($(USING_GLIBCXX),0)
ifeq ($(HAS_NEWLIB),0)
ifeq ($(findstring -D_GLIBCXX_DEBUG,$(CPPFLAGS)$(CXXFLAGS)),)
CPPFLAGS += -D_GLIBCXX_DEBUG
endif # CPPFLAGS
ifeq ($(findstring -D_GLIBCXX_DEBUG,$(CXXFLAGS)),)
CXXFLAGS += -D_GLIBCXX_DEBUG
endif # CXXFLAGS
endif # HAS_NEWLIB
endif # USING_GLIBCXX
endif # GNU Debug build
@ -698,54 +687,30 @@ SRCS := cryptlib.cpp cpu.cpp integer.cpp $(filter-out cryptlib.cpp cpu.cpp integ
# For Makefile.am; resource.h is Windows
INCL := $(filter-out resource.h,$(sort $(wildcard *.h)))
# Cryptogams source files. We couple to ARMv7 and NEON.
# Cryptogams source files. We couple to ARMv7.
# Limit to Linux. The source files target the GNU assembler.
# Also see https://www.cryptopp.com/wiki/Cryptogams.
ifeq ($(IS_ARM32)$(IS_LINUX),11)
ifeq ($(filter -DCRYPTOPP_DISABLE_ASM -DCRYPTOPP_DISABLE_ARM_NEON,$(CPPFLAGS)$(CXXFLAGS)),)
# Do not use -march=armv7 if the compiler is already targeting the ISA.
# Also see https://github.com/weidai11/cryptopp/issues/1094
ifeq ($(shell $(CXX) -dM -E TestPrograms/test_cxx.cpp 2>/dev/null | grep -E '__ARM_ARCH 7|__ARM_ARCH_7A__'),)
CRYPTOGAMS_ARMV7_FLAG = -march=armv7-a
endif
ifeq ($(CLANG_COMPILER),1)
CRYPTOGAMS_ARM_FLAG = $(CRYPTOGAMS_ARMV7_FLAG)
CRYPTOGAMS_ARM_THUMB_FLAG = $(CRYPTOGAMS_ARMV7_FLAG) -mthumb
else
# -mfpu=auto due to https://github.com/weidai11/cryptopp/issues/1094
CRYPTOGAMS_ARM_FLAG = $(CRYPTOGAMS_ARMV7_FLAG)
CRYPTOGAMS_ARM_THUMB_FLAG = $(CRYPTOGAMS_ARMV7_FLAG)
endif
SRCS += aes_armv4.S sha1_armv4.S sha256_armv4.S sha512_armv4.S
ifeq ($(CLANG_COMPILER),1)
CRYPTOGAMS_ARMV4_FLAG = -march=armv7-a -Wa,--noexecstack
CRYPTOGAMS_ARMV4_THUMB_FLAG = -march=armv7-a -mthumb -Wa,--noexecstack
else
CRYPTOGAMS_ARMV4_FLAG = -march=armv7-a -Wa,--noexecstack
CRYPTOGAMS_ARMV4_THUMB_FLAG = -march=armv7-a -Wa,--noexecstack
endif
SRCS += aes_armv4.S sha1_armv4.S sha256_armv4.S sha512_armv4.S
endif
# Remove unneeded arch specific files to speed build time.
ifeq ($(IS_PPC32)$(IS_PPC64),00)
SRCS := $(filter-out %_ppc.cpp,$(SRCS))
SRCS := $(filter-out ppc_%,$(SRCS))
endif
ifeq ($(IS_ARM32)$(IS_ARMV8),00)
SRCS := $(filter-out arm_%,$(SRCS))
SRCS := $(filter-out neon_%,$(SRCS))
SRCS := $(filter-out %_armv4.S,$(SRCS))
endif
ifeq ($(IS_X86)$(IS_X64),00)
ifeq ($(IS_X86)$(IS_X32)$(IS_X64),000)
SRCS := $(filter-out sse_%,$(SRCS))
SRCS := $(filter-out %_sse.cpp,$(SRCS))
SRCS := $(filter-out %_avx.cpp,$(SRCS))
endif
# If ASM is disabled we can remove the SIMD files, too.
ifneq ($(findstring -DCRYPTOPP_DISABLE_ASM,$(CRYPTOPP_CPPFLAGS)$(CPPFLAGS)$(CXXFLAGS)),)
SRCS := $(filter-out arm_%,$(SRCS))
SRCS := $(filter-out ppc_%,$(SRCS))
SRCS := $(filter-out neon_%,$(SRCS))
SRCS := $(filter-out sse_%,$(SRCS))
SRCS := $(filter-out %_sse.cpp,$(SRCS))
SRCS := $(filter-out %_avx.cpp,$(SRCS))
SRCS := $(filter-out %_ppc.cpp,$(SRCS))
SRCS := $(filter-out %_simd.cpp,$(SRCS))
SRCS := $(filter-out %_armv4.S,$(SRCS))
endif
# List cryptlib.cpp first, then cpu.cpp, then integer.cpp to tame C++ static initialization problems.
@ -826,7 +791,7 @@ clean:
.PHONY: autotools-clean
autotools-clean:
@-$(RM) -f bootstrap.sh configure.ac configure configure.in Makefile.am Makefile.in Makefile
@-$(RM) -f configure.ac configure configure.in Makefile.am Makefile.in Makefile
@-$(RM) -f config.guess config.status config.sub config.h.in compile depcomp
@-$(RM) -f install-sh stamp-h1 ar-lib *.lo *.la *.m4 local.* lt*.sh missing
@-$(RM) -f cryptest cryptestcwd libtool* libcryptopp.la libcryptopp.pc*
@ -891,7 +856,6 @@ ifneq ($(wildcard libcryptopp.so$(SOLIB_VERSION_SUFFIX)),)
$(CHMOD) u=rwx,go=rx $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_VERSION_SUFFIX)
ifeq ($(HAS_SOLIB_VERSION),1)
-$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)/libcryptopp.so
-$(LN) libcryptopp.so$(SOLIB_VERSION_SUFFIX) $(DESTDIR)$(LIBDIR)/libcryptopp.so$(SOLIB_COMPAT_SUFFIX)
$(LDCONF) $(DESTDIR)$(LIBDIR)
endif
endif
@ -965,7 +929,7 @@ NOSTD_CXXFLAGS=$(filter-out -stdlib=%,$(filter-out -std=%,$(CXXFLAGS)))
# Cryptogams ARM asm implementation. AES needs -mthumb for Clang
aes_armv4.o : aes_armv4.S
$(CXX) $(strip $(CPPFLAGS) $(ASFLAGS) $(NOSTD_CXXFLAGS) $(CRYPTOGAMS_ARM_THUMB_FLAG) -c) $<
$(CXX) $(strip $(CPPFLAGS) $(NOSTD_CXXFLAGS) $(CRYPTOGAMS_ARMV4_THUMB_FLAG) -c) $<
# Use C++ compiler on C source after patching.
# https://github.com/weidai11/cryptopp/issues/926
@ -996,6 +960,10 @@ chacha_avx.o : chacha_avx.cpp
cham_simd.o : cham_simd.cpp
$(CXX) $(strip $(CPPFLAGS) $(CXXFLAGS) $(CHAM_FLAG) -c) $<
# Power9 available
darn.o : darn.cpp
$(CXX) $(strip $(CPPFLAGS) $(CXXFLAGS) $(DARN_FLAG) -c) $<
# SSE2 on i686
donna_sse.o : donna_sse.cpp
$(CXX) $(strip $(CPPFLAGS) $(CXXFLAGS) $(SSE2_FLAG) -c) $<
@ -1052,9 +1020,17 @@ rijndael_simd.o : rijndael_simd.cpp
sha_simd.o : sha_simd.cpp
$(CXX) $(strip $(CPPFLAGS) $(CXXFLAGS) $(SHA_FLAG) -c) $<
# Cryptogams SHA1/SHA256/SHA512 asm implementation.
sha%_armv4.o : sha%_armv4.S
$(CXX) $(strip $(CPPFLAGS) $(ASFLAGS) $(NOSTD_CXXFLAGS) $(CRYPTOGAMS_ARM_FLAG) -c) $<
# Cryptogams SHA1 asm implementation.
sha1_armv4.o : sha1_armv4.S
$(CXX) $(strip $(CPPFLAGS) $(NOSTD_CXXFLAGS) $(CRYPTOGAMS_ARMV4_FLAG) -c) $<
# Cryptogams SHA256 asm implementation.
sha256_armv4.o : sha256_armv4.S
$(CXX) $(strip $(CPPFLAGS) $(NOSTD_CXXFLAGS) $(CRYPTOGAMS_ARMV4_FLAG) -c) $<
# Cryptogams SHA512 asm implementation.
sha512_armv4.o : sha512_armv4.S
$(CXX) $(strip $(CPPFLAGS) $(NOSTD_CXXFLAGS) $(CRYPTOGAMS_ARMV4_FLAG) -c) $<
# SSE4.2/SHA-NI or ARMv8a available
shacal2_simd.o : shacal2_simd.cpp

View File

@ -542,28 +542,3 @@ last several releases.
- expanded community input and support
* 70 unique contributors as of this release
- port to Apple M1 hardware
8.6.0 - September 21, 2021
- minor release, recompile of programs required
- expanded community input and support
* 74 unique contributors as of this release
- fix ElGamal encryption
- fix ChaCha20 AVX2 implementation
- add octal and decimal literal prefix parsing to Integer
- add missing overload in ed25519Signer and ed25519Verifier
- make SHA-NI independent of AVX and AVX2
- fix OldRandomPool GenerateWord32
- use CPPFLAGS during feature testing
- fix compile on CentOS 5
- fix compile on FreeBSD
- fix feature testing on ARM A-32 and Aarch64
- enable inline ASM for CRC and PMULL on Apple M1
- fix Intel oneAPI compile
- rename test files with *.cpp extension
- fix GCC compile error due to missing _mm256_set_m128i
- add LSH-256 and LSH-512 hash functions
- add ECIES_P1363 for backwards compatibility
- fix AdditiveCipherTemplate<T> ProcessData
- remove CRYPTOPP_NO_CXX11 define
- add -fno-common for Darwin builds
- update documentation

View File

@ -204,7 +204,7 @@ ACCEPTANCE TESTING
Crypto++ uses five security gates in its engineering process. The library must maintain the quality provided by the review system and integrity of the test suites. You can use the information to decide if the Crypto++ library suits your needs and provides a compatible security posture.
The first gate is code review and discussion of proposed changes. Git commits often cross reference a User Group discussions.
The first gate is code review and discussion of proposed chnages. Git commits often cross reference a User Group discussions.
Second is the compiler warning system. The code must clean compile under the equivalent of GCC's -Wall -Wextra (modulo -Wno-type-limits -Wno-unknown-pragmas). This is a moving target as compiler analysis improves.

View File

@ -28,11 +28,10 @@ Han Lulu, Markku-Juhani O. Saarinen - sm4.cpp sm4_simd.cpp
Daniel J. Bernstein, Jack Lloyd - chacha.cpp, chacha_simd.cpp, chacha_avx.cpp
Andrew Moon - ed25519, x25519, donna_32.cpp, donna_64.cpp, donna_sse.cpp
The Crypto++ Library uses portions of Andy Polyakov's CRYPTOGAMS on Linux
for 32-bit ARM with files aes_armv4.S, sha1_armv4.S and sha256_armv4.S.
CRYPTOGAMS is dual licensed with a permissive BSD-style license. The
CRYPTOGAMS license is reproduced below. You can disable Cryptogams code by
undefining the relevant macros in config_asm.h.
The Crypto++ Library uses portions of Andy Polyakov's CRYPTOGAMS for Poly1305
scalar multiplication, aes_armv4.S, sha1_armv4.S and sha256_armv4.S. CRYPTOGAMS
is dual licensed with a permissive BSD-style license. The CRYPTOGAMS license is
reproduced below.
The Crypto++ Library uses portions of Jack Lloyd's Botan for ChaCha SSE2 and
AVX. Botan placed the code in public domain for Crypto++ to use.

View File

@ -1,5 +1,5 @@
Crypto++: free C++ Class Library of Cryptographic Schemes
Version 8.7 - TBD
Version 8.6 - TBD
Crypto++ Library is a free C++ class library of cryptographic schemes.
Currently the library contains the following algorithms:

View File

@ -0,0 +1,3 @@
0123456789abcdeffedcba9876543210 0123456789abcde7 7f1d0a77826b8aff
0123456789abcdeffedcba987654321089abcdef01234567 0123456789abcde7 de0b7c06ae5e0ed5
0123456789ABCDEF01010101010101011011121314151617 94DBE082549A14EF 9011121314151617

View File

@ -0,0 +1,5 @@
000000000000000000000000 000000010000000100000001 4059c76e83ae9dc4ad21ecf7
000000060000000500000004 000000030000000200000001 d2f05b5ed6144138cab920cd
def01234456789abbcdef012 234567899abcdef001234567 0aa55dbb9cdddb6d7cdb76b2
d2f05b5ed6144138cab920cd 4059c76e83ae9dc4ad21ecf7 478ea8716b13f17c15b155ed

View File

@ -0,0 +1,45 @@
0123456789ABCDEFFEDCBA9876543210 0123456789ABCDEFFEDCBA9876543210 7DC1917AE0D38FAE8D4A7D1959AEF27C
80000000000000000000000000000000 00000000000000000000000000000000 4ABA3055788204D82F4539D81BC9384B
00000000000000000000000000000001 00000000000000000000000000000000 5FA57C3B2E71144C3E5E1E9BE4F0FE7E
00000000000000000000000000000000 80000000000000000000000000000000 92E51E737DABB6BFD0EABC8D32224F77
00000000000000000000000000000000 00000000000000000000000000000001 B426E1A441F6DBFC2B2D2412D0066D20
00000000000000000000000000000000 00000000000000000000000000000000 4B40A63C7F0171EE3CDDA4363FBFAE75
01010101010101010101010101010101 01010101010101010101010101010101 CCE5D964A71D7A5E93986BCA572BB050
02020202020202020202020202020202 02020202020202020202020202020202 A04100328F459F6AAE8EBAB3B5FE90A8
04040404040404040404040404040404 04040404040404040404040404040404 BFE5C38FE204ADC614A321786CDCA08E
08080808080808080808080808080808 08080808080808080808080808080808 95A3371D4879057FAEB2E573CCE8A7F5
10101010101010101010101010101010 10101010101010101010101010101010 80AF7861CA5855FBED523345D36619EC
20202020202020202020202020202020 20202020202020202020202020202020 82E9D82550AECD0E0BB1B63E4B30CEC3
40404040404040404040404040404040 40404040404040404040404040404040 C80C04BA36ED0DA52B3E6CB430617FAC
80808080808080808080808080808080 80808080808080808080808080808080 41305D0632AC493419B04F3BCDBA6AE4
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF B99D80EF798362ACEB9E960AAE7EECC2
0123456789ABCDEFFEDCBA98765432100011223344556677 0123456789ABCDEFFEDCBA9876543210 6DC2DBDAC3C563E522F5A75942B8AFAC
800000000000000000000000000000000000000000000000 00000000000000000000000000000000 F9BA9C6E7E3C86FAE4BEB607F387548E
000000000000000000000000000000000000000000000001 00000000000000000000000000000000 5BC2C08F01C0CDC2F983073CBE9194D2
000000000000000000000000000000000000000000000000 80000000000000000000000000000000 AE56BF59874ED4DBD7B905878894ADEE
000000000000000000000000000000000000000000000000 00000000000000000000000000000001 D53236B0CDE20C26F57675A7405A9F98
000000000000000000000000000000000000000000000000 00000000000000000000000000000000 D5526B5E6A1E3DF23AD8ECAF20F281D0
010101010101010101010101010101010101010101010101 01010101010101010101010101010101 6E4C91AB71707075F375FFB7B3D27328
020202020202020202020202020202020202020202020202 02020202020202020202020202020202 D686D2A6F3BBBC5E703528FD4B1DBA8F
040404040404040404040404040404040404040404040404 04040404040404040404040404040404 ADE1730DA6F15693FD9F063DFC8EC4D1
080808080808080808080808080808080808080808080808 08080808080808080808080808080808 6A3FCA9070151FF14142B1700BE075EB
101010101010101010101010101010101010101010101010 10101010101010101010101010101010 773EC2820CCD29CA650DEA05E04CEB80
202020202020202020202020202020202020202020202020 20202020202020202020202020202020 531A8B8F5F1228E16B57E5365A1FB02B
404040404040404040404040404040404040404040404040 40404040404040404040404040404040 C0166DB2A70DF611921E7F0AB0E0F15D
808080808080808080808080808080808080808080808080 80808080808080808080808080808080 70F3361D505A220B1C2328EBE32ED731
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF F275975CCC163ED53AA0510443239638
0123456789ABCDEFFEDCBA987654321000112233445566778899AABBCCDDEEFF 0123456789ABCDEFFEDCBA9876543210 2F4792014AE2D9B812ADBAC663DC762B
8000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000 9250C9771F5A5A8612400AA917491263
0000000000000000000000000000000000000000000000000000000000000001 00000000000000000000000000000000 1A6AED07EC57E4373E988BFBB396406F
0000000000000000000000000000000000000000000000000000000000000000 80000000000000000000000000000000 209ACF63CE6DFB56B1F9821DDBFE86E3
0000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000001 678FFFFDCE3177605F9320FEC4D30B5E
0000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000 C20857DD9106DDDE286EC59FA98D77CC
0101010101010101010101010101010101010101010101010101010101010101 01010101010101010101010101010101 15C28D4EC27D8BEDDD8E6B3745A9A261
0202020202020202020202020202020202020202020202020202020202020202 02020202020202020202020202020202 5279DA1773C078835D506B25FED6513E
0404040404040404040404040404040404040404040404040404040404040404 04040404040404040404040404040404 7AED38F56F62FC75F7DB88F7E59D0B02
0808080808080808080808080808080808080808080808080808080808080808 08080808080808080808080808080808 6EB3C2BC1AC20926E860E688786DB872
1010101010101010101010101010101010101010101010101010101010101010 10101010101010101010101010101010 54A8718B4DD1A03B1A4ED06C30B9E6AB
2020202020202020202020202020202020202020202020202020202020202020 20202020202020202020202020202020 A876FA5538F926B373702DABF33025B6
4040404040404040404040404040404040404040404040404040404040404040 40404040404040404040404040404040 B71AB43F56E09592E69E315E7CD06E8A
8080808080808080808080808080808080808080808080808080808080808080 80808080808080808080808080808080 E975FB1435D92A0CF3E1A2487774D699
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 6C833E3962286C0DE0395446ED30F646

View File

@ -0,0 +1,45 @@
0123456789ABCDEFFEDCBA9876543210 0123456789ABCDEFFEDCBA9876543210 67673138549669730857065648EABE43
80000000000000000000000000000000 00000000000000000000000000000000 6C227F749319A3AA7DA235A9BBA05A2C
00000000000000000000000000000001 00000000000000000000000000000000 41E0E6DC2DDEC65D8B8120E60977B82D
00000000000000000000000000000000 80000000000000000000000000000000 07923A39EB0A817D1C4D87BDB82D1F1C
00000000000000000000000000000000 00000000000000000000000000000001 F5574ACC3148DFCB9015200631024DF9
00000000000000000000000000000000 00000000000000000000000000000000 3D028025B156327C17F762C1F2CBCA71
01010101010101010101010101010101 01010101010101010101010101010101 637084CB1120D6F25DB618893040AA27
02020202020202020202020202020202 02020202020202020202020202020202 612834AAC9EF906BAEAA076E1C75179D
04040404040404040404040404040404 04040404040404040404040404040404 B24FAF8A579E4EFE986571FB2F68B5B4
08080808080808080808080808080808 08080808080808080808080808080808 3E5CAFBB70545AABB1109293A1C44C14
10101010101010101010101010101010 10101010101010101010101010101010 E1FA5FD3F40B766BBE3DF469AF41B420
20202020202020202020202020202020 20202020202020202020202020202020 7E724027BB2F591C63254D936FCC4B43
40404040404040404040404040404040 40404040404040404040404040404040 538ADCBE104A3483B3C2A3D8CE72FBD6
80808080808080808080808080808080 80808080808080808080808080808080 AA7627F70F6B54C217C3EF232D362459
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 25DD9EB9DD67FBC6E8431F56F4FBE651
0123456789ABCDEFFEDCBA98765432100011223344556677 0123456789ABCDEFFEDCBA9876543210 B4993401B3E996F84EE5CEE7D79B09B9
800000000000000000000000000000000000000000000000 00000000000000000000000000000000 1B6220D365C2176C1D41A5826520FCA1
000000000000000000000000000000000000000000000001 00000000000000000000000000000000 E37577F71E0E643C4D3F55219ABA1394
000000000000000000000000000000000000000000000000 80000000000000000000000000000000 3EB6CC5618EFC98455B5992050D474E7
000000000000000000000000000000000000000000000000 00000000000000000000000000000001 BA9AE89FDDCE4B51131E17C4D65CE587
000000000000000000000000000000000000000000000000 00000000000000000000000000000000 56E1E129CA5C02C7F9AC6AFDEF86ADC3
010101010101010101010101010101010101010101010101 01010101010101010101010101010101 8F764397C10BE84BA876CEEFA4225BFF
020202020202020202020202020202020202020202020202 02020202020202020202020202020202 60B00674BFD444D07B5A19851E6151CD
040404040404040404040404040404040404040404040404 04040404040404040404040404040404 81B26FF4F6B4377CC555873504B3A38B
080808080808080808080808080808080808080808080808 08080808080808080808080808080808 A2AA1C6693DC2B70D75C9B39B9B214D0
101010101010101010101010101010101010101010101010 10101010101010101010101010101010 A907BFDAEEF8C81D05855235E8D3BE08
202020202020202020202020202020202020202020202020 20202020202020202020202020202020 87F8EA30332036F17CEAC0097CE33BC1
404040404040404040404040404040404040404040404040 40404040404040404040404040404040 A2C32EA499E41A248565253BACC11E3B
808080808080808080808080808080808080808080808080 80808080808080808080808080808080 F602BA7F515B082983B8F7A27F92408F
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 3F8D5676F51CE23DC3BDB627F8B3883E
0123456789ABCDEFFEDCBA987654321000112233445566778899AABBCCDDEEFF 0123456789ABCDEFFEDCBA9876543210 9ACC237DFF16D76C20EF7C919E3A7509
8000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000 2136FABDA091DFB5171B94B8EFBB5D08
0000000000000000000000000000000000000000000000000000000000000001 00000000000000000000000000000000 AFCD38B195E0A736304E89B9AE3019D3
0000000000000000000000000000000000000000000000000000000000000000 80000000000000000000000000000000 B0C6B88AEA518AB09E847248E91B1B9D
0000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000001 9CDB269B5D293BC5DB9C55B057D9B591
0000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000 396154111ADEFC500CF6E5C99038BC17
0101010101010101010101010101010101010101010101010101010101010101 01010101010101010101010101010101 438D0C2E7E86869B56EBA23B66086A01
0202020202020202020202020202020202020202020202020202020202020202 02020202020202020202020202020202 D4F553BFA794F55EF3B7A578629F6DEA
0404040404040404040404040404040404040404040404040404040404040404 04040404040404040404040404040404 5E858730ABC9823A93CA4CAB67F0B423
0808080808080808080808080808080808080808080808080808080808080808 08080808080808080808080808080808 F9A9C1540AE1B314DBEDF9A49054DC9D
1010101010101010101010101010101010101010101010101010101010101010 10101010101010101010101010101010 6693FC130669F194F81E8D175194DDA2
2020202020202020202020202020202020202020202020202020202020202020 20202020202020202020202020202020 F3E1FDA6B9C8314799F4654C29F1C690
4040404040404040404040404040404040404040404040404040404040404040 40404040404040404040404040404040 4A30476F1141FBF303ED63FCD3CB0536
8080808080808080808080808080808080808080808080808080808080808080 80808080808080808080808080808080 0C765AA494E048FC8BB23139F2124CB6
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 4F05F28CA23EEAE205B67B1C95CD5280

View File

@ -0,0 +1,11 @@
01 23 45 67 12 34 56 78 23 45 67 89 34 56 78 9A
01 23 45 67 89 AB CD EF
23 8B 4F E5 84 7E 44 B2
01 23 45 67 12 34 56 78 23 45
01 23 45 67 89 AB CD EF
EB 6A 71 1A 2C 02 27 1B
01 23 45 67 12
01 23 45 67 89 AB CD EF
7A C8 16 D1 6E 9B 30 2E

View File

@ -0,0 +1,11 @@
2342bb9efa38542c0af75647f29f615d
00000000000000000000000000000000
c842a08972b43d20836c91d1b7530f6b
2342bb9efa38542cbed0ac83940ac298bac77a7717942863
00000000000000000000000000000000
1b386c0210dcadcbdd0e41aa08a7a7e8
2342bb9efa38542cbed0ac83940ac2988d7c47ce264908461cc1b5137ae6b604
00000000000000000000000000000000
4f6a2038286897b9c9870136553317fa

View File

@ -0,0 +1 @@
nCBţ pIbź_¤_ĺ|źâ+"w˙¶¶†Ž˝í#Aýíż‡„nŢmÖéŠČ‡ű%±kXřťąRňłüw`Ză^s.+ÚÚµ<C39A>ř„Š`ŠÝBf]zó•}¦R`}\ŘdiśbfttÉ^ř˛

Binary file not shown.

View File

@ -0,0 +1,171 @@
0101010101010101 95F8A5E5DD31D900 8000000000000000
0101010101010101 DD7F121CA5015619 4000000000000000
0101010101010101 2E8653104F3834EA 2000000000000000
0101010101010101 4BD388FF6CD81D4F 1000000000000000
0101010101010101 20B9E767B2FB1456 0800000000000000
0101010101010101 55579380D77138EF 0400000000000000
0101010101010101 6CC5DEFAAF04512F 0200000000000000
0101010101010101 0D9F279BA5D87260 0100000000000000
0101010101010101 D9031B0271BD5A0A 0080000000000000
0101010101010101 424250B37C3DD951 0040000000000000
0101010101010101 B8061B7ECD9A21E5 0020000000000000
0101010101010101 F15D0F286B65BD28 0010000000000000
0101010101010101 ADD0CC8D6E5DEBA1 0008000000000000
0101010101010101 E6D5F82752AD63D1 0004000000000000
0101010101010101 ECBFE3BD3F591A5E 0002000000000000
0101010101010101 F356834379D165CD 0001000000000000
0101010101010101 2B9F982F20037FA9 0000800000000000
0101010101010101 889DE068A16F0BE6 0000400000000000
0101010101010101 E19E275D846A1298 0000200000000000
0101010101010101 329A8ED523D71AEC 0000100000000000
0101010101010101 E7FCE22557D23C97 0000080000000000
0101010101010101 12A9F5817FF2D65D 0000040000000000
0101010101010101 A484C3AD38DC9C19 0000020000000000
0101010101010101 FBE00A8A1EF8AD72 0000010000000000
0101010101010101 750D079407521363 0000008000000000
0101010101010101 64FEED9C724C2FAF 0000004000000000
0101010101010101 F02B263B328E2B60 0000002000000000
0101010101010101 9D64555A9A10B852 0000001000000000
0101010101010101 D106FF0BED5255D7 0000000800000000
0101010101010101 E1652C6B138C64A5 0000000400000000
0101010101010101 E428581186EC8F46 0000000200000000
0101010101010101 AEB5F5EDE22D1A36 0000000100000000
0101010101010101 E943D7568AEC0C5C 0000000080000000
0101010101010101 DF98C8276F54B04B 0000000040000000
0101010101010101 B160E4680F6C696F 0000000020000000
0101010101010101 FA0752B07D9C4AB8 0000000010000000
0101010101010101 CA3A2B036DBC8502 0000000008000000
0101010101010101 5E0905517BB59BCF 0000000004000000
0101010101010101 814EEB3B91D90726 0000000002000000
0101010101010101 4D49DB1532919C9F 0000000001000000
0101010101010101 25EB5FC3F8CF0621 0000000000800000
0101010101010101 AB6A20C0620D1C6F 0000000000400000
0101010101010101 79E90DBC98F92CCA 0000000000200000
0101010101010101 866ECEDD8072BB0E 0000000000100000
0101010101010101 8B54536F2F3E64A8 0000000000080000
0101010101010101 EA51D3975595B86B 0000000000040000
0101010101010101 CAFFC6AC4542DE31 0000000000020000
0101010101010101 8DD45A2DDF90796C 0000000000010000
0101010101010101 1029D55E880EC2D0 0000000000008000
0101010101010101 5D86CB23639DBEA9 0000000000004000
0101010101010101 1D1CA853AE7C0C5F 0000000000002000
0101010101010101 CE332329248F3228 0000000000001000
0101010101010101 8405D1ABE24FB942 0000000000000800
0101010101010101 E643D78090CA4207 0000000000000400
0101010101010101 48221B9937748A23 0000000000000200
0101010101010101 DD7C0BBD61FAFD54 0000000000000100
0101010101010101 2FBC291A570DB5C4 0000000000000080
0101010101010101 E07C30D7E4E26E12 0000000000000040
0101010101010101 0953E2258E8E90A1 0000000000000020
0101010101010101 5B711BC4CEEBF2EE 0000000000000010
0101010101010101 CC083F1E6D9E85F6 0000000000000008
0101010101010101 D2FD8867D50D2DFE 0000000000000004
0101010101010101 06E7EA22CE92708F 0000000000000002
0101010101010101 166B40B44ABA4BD6 0000000000000001
8001010101010101 0000000000000000 95A8D72813DAA94D
4001010101010101 0000000000000000 0EEC1487DD8C26D5
2001010101010101 0000000000000000 7AD16FFB79C45926
1001010101010101 0000000000000000 D3746294CA6A6CF3
0801010101010101 0000000000000000 809F5F873C1FD761
0401010101010101 0000000000000000 C02FAFFEC989D1FC
0201010101010101 0000000000000000 4615AA1D33E72F10
0180010101010101 0000000000000000 2055123350C00858
0140010101010101 0000000000000000 DF3B99D6577397C8
0120010101010101 0000000000000000 31FE17369B5288C9
0110010101010101 0000000000000000 DFDD3CC64DAE1642
0108010101010101 0000000000000000 178C83CE2B399D94
0104010101010101 0000000000000000 50F636324A9B7F80
0102010101010101 0000000000000000 A8468EE3BC18F06D
0101800101010101 0000000000000000 A2DC9E92FD3CDE92
0101400101010101 0000000000000000 CAC09F797D031287
0101200101010101 0000000000000000 90BA680B22AEB525
0101100101010101 0000000000000000 CE7A24F350E280B6
0101080101010101 0000000000000000 882BFF0AA01A0B87
0101040101010101 0000000000000000 25610288924511C2
0101020101010101 0000000000000000 C71516C29C75D170
0101018001010101 0000000000000000 5199C29A52C9F059
0101014001010101 0000000000000000 C22F0A294A71F29F
0101012001010101 0000000000000000 EE371483714C02EA
0101011001010101 0000000000000000 A81FBD448F9E522F
0101010801010101 0000000000000000 4F644C92E192DFED
0101010401010101 0000000000000000 1AFA9A66A6DF92AE
0101010201010101 0000000000000000 B3C1CC715CB879D8
0101010180010101 0000000000000000 19D032E64AB0BD8B
0101010140010101 0000000000000000 3CFAA7A7DC8720DC
0101010120010101 0000000000000000 B7265F7F447AC6F3
0101010110010101 0000000000000000 9DB73B3C0D163F54
0101010108010101 0000000000000000 8181B65BABF4A975
0101010104010101 0000000000000000 93C9B64042EAA240
0101010102010101 0000000000000000 5570530829705592
0101010101800101 0000000000000000 8638809E878787A0
0101010101400101 0000000000000000 41B9A79AF79AC208
0101010101200101 0000000000000000 7A9BE42F2009A892
0101010101100101 0000000000000000 29038D56BA6D2745
0101010101080101 0000000000000000 5495C6ABF1E5DF51
0101010101040101 0000000000000000 AE13DBD561488933
0101010101020101 0000000000000000 024D1FFA8904E389
0101010101018001 0000000000000000 D1399712F99BF02E
0101010101014001 0000000000000000 14C1D7C1CFFEC79E
0101010101012001 0000000000000000 1DE5279DAE3BED6F
0101010101011001 0000000000000000 E941A33F85501303
0101010101010801 0000000000000000 DA99DBBC9A03F379
0101010101010401 0000000000000000 B7FC92F91D8E92E9
0101010101010201 0000000000000000 AE8E5CAA3CA04E85
0101010101010180 0000000000000000 9CC62DF43B6EED74
0101010101010140 0000000000000000 D863DBB5C59A91A0
0101010101010120 0000000000000000 A1AB2190545B91D7
0101010101010110 0000000000000000 0875041E64C570F7
0101010101010108 0000000000000000 5A594528BEBEF1CC
0101010101010104 0000000000000000 FCDB3291DE21F0C0
0101010101010102 0000000000000000 869EFD7F9F265A09
1046913489980131 0000000000000000 88D55E54F54C97B4
1007103489988020 0000000000000000 0C0CC00C83EA48FD
10071034C8980120 0000000000000000 83BC8EF3A6570183
1046103489988020 0000000000000000 DF725DCAD94EA2E9
1086911519190101 0000000000000000 E652B53B550BE8B0
1086911519580101 0000000000000000 AF527120C485CBB0
5107B01519580101 0000000000000000 0F04CE393DB926D5
1007B01519190101 0000000000000000 C9F00FFC74079067
3107915498080101 0000000000000000 7CFD82A593252B4E
3107919498080101 0000000000000000 CB49A2F9E91363E3
10079115B9080140 0000000000000000 00B588BE70D23F56
3107911598090140 0000000000000000 406A9A6AB43399AE
1007D01589980101 0000000000000000 6CB773611DCA9ADA
9107911589980101 0000000000000000 67FD21C17DBB5D70
9107D01589190101 0000000000000000 9592CB4110430787
1007D01598980120 0000000000000000 A6B7FF68A318DDD3
1007940498190101 0000000000000000 4D102196C914CA16
0107910491190401 0000000000000000 2DFA9F4573594965
0107910491190101 0000000000000000 B46604816C0E0774
0107940491190401 0000000000000000 6E7E6221A4F34E87
19079210981A0101 0000000000000000 AA85E74643233199
1007911998190801 0000000000000000 2E5A19DB4D1962D6
10079119981A0801 0000000000000000 23A866A809D30894
1007921098190101 0000000000000000 D812D961F017D320
100791159819010B 0000000000000000 055605816E58608F
1004801598190101 0000000000000000 ABD88E8B1B7716F1
1004801598190102 0000000000000000 537AC95BE69DA1E1
1004801598190108 0000000000000000 AED0F6AE3C25CDD8
1002911598100104 0000000000000000 B3E35A5EE53E7B8D
1002911598190104 0000000000000000 61C79C71921A2EF8
1002911598100201 0000000000000000 E2F5728F0995013C
1002911698100101 0000000000000000 1AEAC39A61F0A464
7CA110454A1A6E57 01A1D6D039776742 690F5B0D9A26939B
0131D9619DC1376E 5CD54CA83DEF57DA 7A389D10354BD271
07A1133E4A0B2686 0248D43806F67172 868EBB51CAB4599A
3849674C2602319E 51454B582DDF440A 7178876E01F19B2A
04B915BA43FEB5B6 42FD443059577FA2 AF37FB421F8C4095
0113B970FD34F2CE 059B5E0851CF143A 86A560F10EC6D85B
0170F175468FB5E6 0756D8E0774761D2 0CD3DA020021DC09
43297FAD38E373FE 762514B829BF486A EA676B2CB7DB2B7A
07A7137045DA2A16 3BDD119049372802 DFD64A815CAF1A0F
04689104C2FD3B2F 26955F6835AF609A 5C513C9C4886C088
37D06BB516CB7546 164D5E404F275232 0A2AEEAE3FF4AB77
1F08260D1AC2465E 6B056E18759F5CCA EF1BF03E5DFA575A
584023641ABA6176 004BD6EF09176062 88BF0DB6D70DEE56
025816164629B007 480D39006EE762F2 A1F9915541020B56
49793EBC79B3258F 437540C8698F3CFA 6FBF1CAFCFFD0556
4FB05E1515AB73A7 072D43A077075292 2F22E49BAB7CA1AC
49E95D6D4CA229BF 02FE55778117F12A 5A6B612CC26CCE4A
018310DC409B26D6 1D9D5C5018F728C2 5F4C038ED12B2E41
1C587F1C13924FEF 305532286D6F295A 63FAC0D034D9F793

View File

@ -0,0 +1 @@
30818702818100DA9A18547FF03B385CC16508C173A7EF4EB61CB40EF8FEF3B31F145051676166BCDC3FE6B799FC394D08C26385F9413F896E09117E46209D6923602683CEA100924A6EE695281775C619DAA94EA8CB3691B4275B0183F1D39639EBC92995FE645D6C1BC28D409E585549BBD2C5DCDD6C208B04EADD8B7A6D997F72CBAD88390F020102

View File

@ -0,0 +1 @@
308201080282010100EB60DBD494AAFBCD2EAC6A36DB8E7DD4A2A64512A5BBB15B9BFB581C7C1CAFB647D4612973C3770C2166D75EEA695F67EA8261557591DB78BCF5A886AA5294F3AEE4D25B57C8EE8C7FE8DBF70C132CD7FFCB6F89426F807F552C5DAE2FB1F329E340094E4B30D8EF6265AB4D350E9837B151C86AC524DE4E1FC04746C668BE318275E420D51AEDDFBDF887D435CDEEF6AC81293DB45287132F8236A43AD8F4D6642D7CA6732DA06A1DE008259008C9D74403B68ADAC788CF8AB5BEFFC310DCCCD32901D1F290E5B7A993D2CF6A652AF81B6DA0FD2E70678D1AE086150E41444522F20621195AD2A1F0975652B4AF7DE5261A9FD46B9EA8B443641F3BBA695B9B020103

View File

@ -0,0 +1 @@
308201370201003082011706072A8648CE3804013082010A02818100D4EC6B7A18416519C76766726B3D2D5F054D107B30E97691B15EB0DCDF452B77F10E12C14450AB107BE349C2DF3A2DBD9D844A24ABA21B328D568E8EC6B959E70BADE5C49879AE4447F643360523469B55AFDC459B45634F657AA79918772F2BA9508ACD43C95C16650A1251B8173EBA1B9B59FE8C57F6240EA49A4FE8855CEF0281806A7635BD0C20B28CE3B3B339359E96AF82A6883D9874BB48D8AF586E6FA295BBF8870960A22855883DF1A4E16F9D16DECEC2251255D10D9946AB4747635CACF385D6F2E24C3CD72223FB219B0291A34DAAD7EE22CDA2B1A7B2BD53CC8C3B9795D4A84566A1E4AE0B32850928DC0B9F5D0DCDACFF462BFB1207524D27F442AE77020102041702150C9C14EEFA749DCE9A2A4B7065768767BA48BBB62F

View File

@ -0,0 +1 @@
308202410201003082021906072A8648CE3804013082020C0282010100A8E87254E7F56CB5857786364ACC39F2A0F79FFF8ED6C62C64EE45FC1C775CDDBFD9CBCEF8262DBD2CECE4E5AFECA239B9B4B7D3CBA228366500F5B2203CA6C0CB0AB6698F73921B4831BA598DFA8268A07368A64774C77808AB7CB7978F839304B10567F8C9C34F8DBDB66BB928EDE6327773AA6C20A8F4E9C2AE0C66A0516E057BBC87760CF39270726F1863260CD5ADDAF366318E7029851A6F85B2349DF29629319A3662354DBCAD0789D02AC6BD804C06523900166501041963BD7EFFE0069694A54F4542172A29B1F09D26E3F052AE5274A898058BE549650BC2066DDFDB84D582E6503AF42BCB2B674F2A2A77C54678FD622FFCA2D9718BF8B0525AEF028201005474392A73FAB65AC2BBC31B25661CF9507BCFFFC76B6316327722FE0E3BAE6EDFECE5E77C1316DE96767272D7F6511CDCDA5BE9E5D1141B32807AD9101E536065855B34C7B9C90DA418DD2CC6FD41345039B45323BA63BC0455BE5BCBC7C1C9825882B3FC64E1A7C6DEDB35DC9476F3193BB9D53610547A74E15706335028B702BDDE43BB0679C93839378C3193066AD6ED79B318C73814C28D37C2D91A4EF94B1498CD1B311AA6DE5683C4E815635EC02603291C800B3280820CB1DEBF7FF0034B4A52A7A2A10B9514D8F84E9371F82957293A544C02C5F2A4B285E10336EFEDC26AC173281D7A15E595B3A795153BE2A33C7EB117FE516CB8C5FC58292D77020102041F021D031D7EC405D3E11D031B7B66DF9EFFCC5173B9B1639E4EC920731484EE

View File

@ -0,0 +1 @@
3082014A0201003082012B06072A8648CE3804013082011E02818100F468699A6F6EBCC0120D3B34C8E007F125EC7D81F763B8D0F33869AE3BD6B9F2ECCC7DF34DF84C0307449E9B85D30D57194BCCEB310F48141914DD13A077AAF9B624A6CBE666BBA1D7EBEA95B5BA6F54417FD5D4E4220C601E071D316A24EA814E8B0122DBF47EE8AEEFD319EBB01DD95683F10DBB4FEB023F8262A07EAEB7FD02150082AD4E034DA6EEACDFDAE68C36F2BAD614F9E53B02818071AAF73361A26081529F7D84078ADAFCA48E031DB54AD57FB1A833ADBD8672328AABAA0C756247998D7A5B10DACA359D231332CE8120B483A784FE07D46EEBFF0D7D374A10691F78653E6DC29E27CCB1B174923960DFE5B959B919B2C3816C19251832AFD8E35D810E598F82877ABF7D40A041565168BD7F0E21E3FE2A8D8C1C0416021426EBA66E846E755169F84A1DA981D86502405DDF

View File

@ -0,0 +1 @@
308201B73082012B06072A8648CE3804013082011E02818100F468699A6F6EBCC0120D3B34C8E007F125EC7D81F763B8D0F33869AE3BD6B9F2ECCC7DF34DF84C0307449E9B85D30D57194BCCEB310F48141914DD13A077AAF9B624A6CBE666BBA1D7EBEA95B5BA6F54417FD5D4E4220C601E071D316A24EA814E8B0122DBF47EE8AEEFD319EBB01DD95683F10DBB4FEB023F8262A07EAEB7FD02150082AD4E034DA6EEACDFDAE68C36F2BAD614F9E53B02818071AAF73361A26081529F7D84078ADAFCA48E031DB54AD57FB1A833ADBD8672328AABAA0C756247998D7A5B10DACA359D231332CE8120B483A784FE07D46EEBFF0D7D374A10691F78653E6DC29E27CCB1B174923960DFE5B959B919B2C3816C19251832AFD8E35D810E598F82877ABF7D40A041565168BD7F0E21E3FE2A8D8C1C0381850002818100D30312B7179661DA4691EDE39A71CB961199CD792C50AED6EA7E1A24C53590B6BCD92F26509D3372B2849A17C99C0962FBE4A2606CA37E6DF10244805363450FFAA24A7C274DF0B5D24AE7F31A8319FD2AA6E98AC6E7E3364E7AEDE575A9993609B0DFA387084141EA0B5B2D59B6DE718C0DAB4F86BC59F0DBE8602AED933494

View File

@ -0,0 +1 @@
3081C60201003081A806072A8648CE38040130819C0241008DF2A494492276AA3D25759BB06869CBEAC0D83AFB8D0CF7CBB8324F0D7882E5D0762FC5B7210EAFC2E9ADAC32AB7AAC49693DFBF83724C2EC0736EE31C80291021500C773218C737EC8EE993B4F2DED30F48EDACE915F0240626D027839EA0A13413163A55B4CB500299D5522956CEFCB3BFF10F399CE2C2E71CB9DE5FA24BABF58E5B79521925C9CC42E9F6F464B088CC572AF53E6D78802041602142070B3223DBA372FDE1C0FFC7B2E3B498B260614

View File

@ -0,0 +1 @@
3081C80201003081A406072A8648CE3D0201308198020101302006072A8648CE3D0101021500FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFF302C0414FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7FFFFFFC04141C97BEFC54BD7A8B65ACF89F81D4D4ADC565FA450429044A96B5688EF573284664698968C38BB913CBFC8223A628553168947D59DCC912042351377AC5FB3202150100000000000000000001F4C8F927AED3CA752257020101041C301A02010104150023A68821ABB99DBB8429ED2320D61A8EA4C6D81B

View File

@ -0,0 +1 @@
3081D10201003081AD06072A8648CE3D02013081A1020101302506072A8648CE3D0102301A020200A306092A8648CE3D010203033009020103020106020107302E041507B6882CAAEFA84F9554FF8428BD88E246D2782AE204150713612DCDDCB40AAB946BDA29CA91F73AF958AFD9042B040369979697AB43897789566789567F787A7876A65400435EDB42EFAFB2989D51FEFCE3C80988F41FF883021503FFFFFFFFFFFFFFFFFFFF48AAB689C29CA710279B020102041C301A02010104150003693AB4D83EE8B544548BE7647AEA0EA64E8211

View File

@ -0,0 +1 @@
302E020100300506032B65700422042098C59D3F097FB23D44BA90791281B453258D691A55AF5CE4F1EE712FDF91AE6D

View File

@ -0,0 +1 @@
302E020100300506032B65700422042030BF776A497D7F1E0E26AC4FB03F5BE7E187DDFEFB914CD292A6FEDB7F70CE6B

View File

@ -0,0 +1 @@
3053020101300506032B6570042204206861FD53C7643DABDCDF4C3969CE44A156BAC261242A5AAEC140EDE510071C6CA12303210029CF90E6C1CF1ADC7105720303B2EE303412D2B682C6FEEF3D8736A286B2E27F

View File

@ -0,0 +1 @@
308201360201003082011606062B0E070201013082010A02818100D18892CC35AD9E532C53810019E525CDE08882E6344D6787C366B171D68948F53D74F7923B148E0A0B4C9B956D695384DE24AC3034000B3C4AD4C8226470BBD88B5B053BCCB01E608B1352D6ED16324745253BDB204308E065368CB9D75ACDB290E671BD4CA1608500BFACD758E6E9EFAC8CCBAD83BE7E397A62E4F55634FC3B02818068C449661AD6CF299629C0800CF292E6F04441731A26B3C3E1B358B8EB44A47A9EBA7BC91D8A470505A64DCAB6B4A9C26F1256181A00059E256A641132385DEC45AD829DE6580F304589A96B768B1923A2929DED90218470329B465CEBAD66D9487338DEA650B042805FD66BAC7374F7D64665D6C1DF3F1CBD31727AAB1A7E1D0201030417021504ED7AED68B1A5EFDE11262210D9F1121D4A119CE8

View File

@ -0,0 +1 @@
3081E00281807040653BA4FCD5C66E3318B31E82654C5A62957F68D2EE6AE10BD6678D7A14EEF8EBF0C85F28FE22056C12B2A2DD4E9C897EB2FF06D57DB03B872C049ED2806DC3E4D86F2947D134065AC642F233F95FBCB55C533274FA91FFDC0CEB9E71B8795B71A977C7956001FC19E28DE18A80B20E4AE8F775B952CEEA0DEFEAE8E93D7F020120022B1EC74E9FC5EEA090E8DDF4BDB64861C7DC3F8EC7E64286EC2FE39DA55B4763C582DB48146521BDEF0146D5022B1E559EB15755298408E4E4C6F4791BF075C7A8C9B3C7F5B7FA3E8C322BA0A160C09A9DB6BBC4974BE0F877

View File

@ -0,0 +1 @@
3082014D0281C100E2A6788AB3CC986AEC06C51690143D3677141645D0628165EE924B9AFB7E6EDD52D90145B2F6031522C7A6CEC05E358F42B7837DACEA589F868F8DCA1C0F5FD8E5EDB8BBBAFCFF6D64CFCFBE68F46FBA6EFF45BC9D0CBB4F7F6075F5FFC2049C2F304B51C417764E18D182926E02D4116CE5C5C010E3D0AA6872A49B0D1FF4B37D54689C31F5821D04E9D4DB34D7536EE7F88B8C481B0EC1F93193A0B70567E6FD76E9FAC4F67BB47DACD356D0C8015261E068DDF8C34C0CAFCF3FA775577FEB020120024100FAF0F292EE96D4F449024F86C0A104E0633C722586EC00AD33E0234629825D2081BA337597889CAC55DC6BEBDD8F13FE3AA2133D6371601A37D195DA7BC45EF3024100EBE16F88887A425AA08E271467CC2220DC44012AB24ED4FF3512A96E8CB600C8BBCB771459FF0EE63D4B6786952A83A7143A775073F0A1D69B6D0B5817755673

View File

@ -0,0 +1 @@
308201B70282010028B1F9CDF87EF6D74F3AC2EA83C17CE376215FB2B3B4817145F1A137FB86B0F7BF0F9BA1BDCF7CC15DF1884DD1B150A983279B90F7A1E4392CB3C16390771DA5668E68621C3898DF66BD254F3787ECFB64B3435E707D5C237A6C09F407D8CD618CC3BBFBAB3DEBA38A0D1A88B2A4E09AE32FF2064EF1896348D5B83047EC2E079D85662EED4A66FBB9C159A617EE3C333BAED66989740F54C3CB336C0EF71130786E70648F2698F4F4192DA06C1578FDB065F8E320EFB63049E4BA664F215924B3E89F69131C5987F357C54593BE173A7AED2D37BE69F90CB574EF83AD49145EB15950FADE9E848DA83BC2CACBEDCAFC4A3B31BFFBBFC4DD03B8E47A218A51410201200256033F9C3F8BDDC021503A687BEC90438F38FF9C0E4C050DD95E46BACA370F478B843611A94BC37B5E838AABFD4ECCCE757BAC967DF8A7DD219B3A71A4DA64D54AB367622B7EB9B4282E898755F02036E91D2A12C81F41025603DB3DE2AE2B52889148C98D68F2B7606B0E5112E60E6A6FF5FD98E5D74143C000B43BEC77082F17C1EF4C82127010B12438D498AAFE8521E21EE6391627D464B54D1BE31F57FFF18C27EC38F08093EA65139A61A2C1

View File

@ -0,0 +1 @@
3081E0020101302C06072A8648CE3D0101022100FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF30440420FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC04205AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B0441046B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C2964FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5022100FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551020101

View File

@ -0,0 +1 @@
3081E0020101302C06072A8648CE3D0101022100FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF30440420FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC04205AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B0441046B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C2964FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5022100FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551020101

View File

@ -0,0 +1 @@
30820140020101303C06072A8648CE3D0101023100FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFF0000000000000000FFFFFFFF30640430FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFF0000000000000000FFFFFFFC0430B3312FA7E23EE7E4988E056BE3F82D19181D9C6EFE8141120314088F5013875AC656398D8A2ED19D2A85C8EDD3EC2AEF046104AA87CA22BE8B05378EB1C71EF320AD746E1D3B628BA79B9859F741E082542A385502F25DBF55296C3A545E3872760AB73617DE4A96262C6F5D9E98BF9292DC29F8F41DBD289A147CE9DA3113B5F0B8C00A60B1CE1D7E819D7A431D7C90EA0E5F023100FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7634D81F4372DDF581A0DB248B0A77AECEC196ACCC52973020101

View File

@ -0,0 +1 @@
308201AC020101304D06072A8648CE3D0101024201FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF308188044201FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC04420051953EB9618E1C9A1F929A21A0B68540EEA2DA725B99B315F3B8B489918EF109E156193951EC7E937B1652C0BD3BB1BF073573DF883D2C34F1EF451FD46B503F000481850400C6858E06B70404E9CD9E3ECB662395B4429C648139053FB521F828AF606B4D3DBAA14B5E77EFE75928FE1DC127A2FFA8DE3348B3C1856A429BF97E7E31C2E5BD66011839296A789A3BC0045C8A5FB42C7D1BD998F54449579B446817AFBD17273E662C97EE72995EF42640C550B9013FAD0761353C7086A272C24088BE94769FD16650024201FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA51868783BF2F966B7FCC0148F709A5D03BB5C9B8899C47AEBB6FB71E91386409020101

View File

@ -0,0 +1,23 @@
BE5EC2006CFF9DCF52354959F1FF0CBFE95061B5A648C10387069C25997C0672
0DF82802B741A292 07F9027DF7F7DF89
B385272AC8D72A5A8B344BC80363AC4D09BF58F41F540624CBCB8FDCF55307D7
1354EE9C0A11CD4C 4FB50536F960A7B1
AEE02F609A35660E4097E546FD3026B032CD107C7D459977ADF489BEF2652262
6693D492C4B0CC39 670034AC0FA811B5
320E9D8422165D58911DFC7D8BBB1F81B0ECD924023BF94D9DF7DCF7801240E0
99E2D13080928D79 8118FF9D3B3CFE7D
C9F703BBBFC63691BFA3B7B87EA8FD5E8E8EF384EF733F1A61AEF68C8FFA265F
D1E787749C72814C A083826A790D3E0C
728FEE32F04B4C654AD7F607D71C660C2C2670D7C999713233149A1C0C17A1F0
D4C05323A4F7A7B5 4D1F2E6B0D9DE2CE
35FC96402209500FCFDEF5352D1ABB038FE33FC0D9D58512E56370B22BAA133B
8742D9A05F6A3AF6 2F3BB84879D11E52
D416F630BE65B7FE150656183370E07018234EE5DA3D89C4CE9152A03E5BFB77
F86506DA04E41CB8 96F0A5C77A04F5CE

View File

@ -0,0 +1 @@
3081E0020101302C06072A8648CE3D0101022100FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF30440420FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC04205AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B0441046B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C2964FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5022100FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551020101

View File

@ -0,0 +1 @@
3081E0020101302C06072A8648CE3D0101022100FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF30440420FFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFC04205AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B0441046B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C2964FE342E2FE1A7F9B8EE7EB4A7C0F9E162BCE33576B315ECECBB6406837BF51F5022100FFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551020101

View File

@ -0,0 +1 @@
30820140020101303C06072A8648CE3D0101023100FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFF0000000000000000FFFFFFFF30640430FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFF0000000000000000FFFFFFFC0430B3312FA7E23EE7E4988E056BE3F82D19181D9C6EFE8141120314088F5013875AC656398D8A2ED19D2A85C8EDD3EC2AEF046104AA87CA22BE8B05378EB1C71EF320AD746E1D3B628BA79B9859F741E082542A385502F25DBF55296C3A545E3872760AB73617DE4A96262C6F5D9E98BF9292DC29F8F41DBD289A147CE9DA3113B5F0B8C00A60B1CE1D7E819D7A431D7C90EA0E5F023100FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC7634D81F4372DDF581A0DB248B0A77AECEC196ACCC52973020101

View File

@ -0,0 +1 @@
308201AC020101304D06072A8648CE3D0101024201FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF308188044201FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC04420051953EB9618E1C9A1F929A21A0B68540EEA2DA725B99B315F3B8B489918EF109E156193951EC7E937B1652C0BD3BB1BF073573DF883D2C34F1EF451FD46B503F000481850400C6858E06B70404E9CD9E3ECB662395B4429C648139053FB521F828AF606B4D3DBAA14B5E77EFE75928FE1DC127A2FFA8DE3348B3C1856A429BF97E7E31C2E5BD66011839296A789A3BC0045C8A5FB42C7D1BD998F54449579B446817AFBD17273E662C97EE72995EF42640C550B9013FAD0761353C7086A272C24088BE94769FD16650024201FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA51868783BF2F966B7FCC0148F709A5D03BB5C9B8899C47AEBB6FB71E91386409020101

View File

@ -0,0 +1,11 @@
00010002000300040005000600070008 0000000100020003 11FBED2B01986DE5
00010002000300040005000600070008 0102030405060708 540E5FEA18C2F8B1
00010002000300040005000600070008 0019324B647D96AF 9F0A0AB6E10CED78
00010002000300040005000600070008 F5202D5B9C671B08 CF18FD7355E2C5C5
00010002000300040005000600070008 FAE6D2BEAA96826E 85DF52005608193D
00010002000300040005000600070008 0A141E28323C4650 2F7DE750212FB734
00010002000300040005000600070008 050A0F14191E2328 7B7314925DE59C09
0005000A000F00140019001E00230028 0102030405060708 3EC04780BEFF6E20
3A984E2000195DB32EE501C8C47CEA60 0102030405060708 97BCD8200780DA86
006400C8012C019001F4025802BC0320 05320A6414C819FA 65BE87E7A2538AED
9D4075C103BC322AFB03E7BE6AB30006 0808080808080808 F5DB1AC45E5EF9F9

View File

@ -0,0 +1 @@
3082015202010002818100B7FE59813AF3A5DA48144EF03E5D229E3CFB55B0E3CEB63F9F973AC8655651409C3B36BBBE83698516F42A2E0FDC87DD83541697249D67FB5A91FA73470089C4997667811283CF22C74856F1E71129DB70FB23620A60E532B7931B7F93C0B9AA6B9D60E87529002BF2204B743773F501F6C370D067C7B22F6AD9DC07E8097347020111024100CFEA6177386C04D1668C984C39A7F889B36BB2B3BED2C7B83241D267F8D2038529AEB56D82CDE43264168873375C8D1F0897666CCC3F617C2F6B52E5143303C7024100E28BAB645993166EE1A984967AE8839EA41685F1E6392DBEB83EE6CA85A54396505DBD4E5C9024BAFCF27AD24D571DC6A3795CE7F0432669BCE742AF8FAF1481024078C6F402C266595B4F85098370528C2C0309BE93F6C45FC049F6AD987471A979FE215CC41455AA85F5A5B664F59E2F8E33C97C211698D14AD05FC65044F99510

View File

@ -0,0 +1 @@
308202960201000282010100EF8E1C8C8FB330A26C2449F1A50F7BD457D131C66D3194ECA20CE06138CC95CBE32E1DF910E13FF2D74823363286E3461E4BA3037EA32D4728F262C2364692E5948B8577F651292D72EF42445C2AAF11A526D2235DCE172A6E762EB86178BB5B4A06B8736567DB1525C8BDEB7242C81CC9090F5EF7CFC193FABEA3E5B5407E7DFDDF2D557487C65302148969F28DEC68AC3166FD52D44F1DE2EA74451A4BA0508F09E2F4AB85D89E7D68EEE4E8F9BD5A4858BAE8BF36E3A31FF06DDECDD40AE70932ECD09B65617B3208FF203EFBB0D822CDC1887EF343EBECBB762FA9C5D9F9339C80C96D6F3D8E4F7298FF6C94581C3CBC21C8CA94015F2E48400C0556B70502011102818100FDAD5D856662FC0284BEEF8470DC328B3B853F5819F037EBC786EB0225FD5C45B5BF99073F6E6CE31E4D1BC31105A4BAABA3BEC3C28F40E5912E7D3D6E6BE6178164E52F615C65FED1AE61D9D8F858282AF3C59C25A650A9CA72DD2105D95219CFEFEDDEB067647FDBABB659FBF2FF82F33C1A3A8BA73FB5F3D0C5509DFD38FF02818100F1BFA4A7A9506E020F9A57019F4326AE3D974DE9CCEF9BCA284B313DE287378411BDF1C9A1859D9165604EFF2EB1C9A685C0B317A08CF50E5F45AF570EE2C79B35BEA60B38109B4A450E87811CB10D6873F50726248055FE645C5C74FD0482F22CB541D77ED93F8B44CA72C9F550331C516BD061816325F9EF543C4995832BFB0281805184D4DC8796329003CF0EDC79048A12C4C78A1F44D8DE37A5939776A4E19CAA1ADBC4B78BE72EF23F1A5EFFF7377439138ED19D166285D1325CE6C2A7CFA182BDD7B82B2AB63A041C80B17A4D78161C240EDB2D6A494BEB27D28168E02DAE83C50C01EE8384E31111B756DA9B5423A6817F9078E8A750D0DE2CE62CF223601D

View File

@ -0,0 +1 @@
3082013F0201003082011706072A8648CE3804013082010A02818100E16B572E39DB4D90689753D09CEA97B9CAE9C0AF04203AE5BC7FC985B85D5BB50B1EDEA30CAAD003B455640FEEA79E342F3E8CFF6761051B38D6931A2B0FD0DF8E2210E7DA74CAC5DC1A79D80CD8C0F9FC09D81BAEC94E2F3663F25B0140DF6B3D5AD04CBA27BCF24A92963319FB992E39544370FD28642FE07EB17EDA4D47B902818070B5AB971CEDA6C8344BA9E84E754BDCE574E05782101D72DE3FE4C2DC2EADDA858F6F5186556801DA2AB207F753CF1A179F467FB3B0828D9C6B498D1587E86FC7110873ED3A6562EE0D3CEC066C607CFE04EC0DD764A7179B31F92D80A06FB59EAD68265D13DE7925494B198CFDCC971CAA21B87E943217F03F58BF6D26A3DD020107041F021D03BDAFBB087B5A628730212217B01F15B303A0133D6AF4FC3CAF7286A8

View File

@ -0,0 +1 @@
3081B302010030819406072A8648CE380401308188024100B89A4AD4826B8FDDBFE3A6C0F5C8F805B7093AFF9BB2BD697C7D113C236BAC99ABF69000E169575CA2A2DDCDD1C7D9D06C63DCCC880121D933DCF598DD85C52102405C4D256A4135C7EEDFF1D3607AE47C02DB849D7FCDD95EB4BE3E889E11B5D64CD5FB480070B4ABAE51516EE6E8E3ECE83631EE66440090EC99EE7ACC6EC2E291020107041702150268EA4C567B18D0E35B1DA9D517CE5D359CD06779

View File

@ -0,0 +1,4 @@
30818702818100EE9C91E2C1D8B0AB999B3F32B3115A36AA95A36B23CC8507D2340FA21EAAF6F6EB
1B900839CD9F8AFBFC155467F91FD8917DD46EAC55A266B246DFFFEDDDA79D674F77884D34709DB3
452C2C1E2578CCC0CCA91C504039C52762F23F2A391A58B2CAD2DB05666DDF5B9E3C1AC33DB487B7
70C82B7E7DCDEE4381562FCEE427FD02010A

View File

@ -0,0 +1,2 @@
3046024100C339D027E5812ED5D9DE044F3697D0273625E5EA9EC4EF3FB89ADBFA9CD1FBF4D8C0EC
1118C44609F499EF644EEAECE2F38B3F67FAC81A075F31A60B5757A87D020109

View File

@ -0,0 +1 @@
3082015B0201003082013306072A8648CE3804013082012602818100D57B7B758DC8041CE6CFC57DFE0AAA33FC8FEC48BEEA37562AD13359236FFFF6EED3CEB3A7BBC4269A384ED9A296160F12BC666066548E28201CE293B1791F951C8D2C5965696D82B336EFADCF1E0D619EDA43DBB86415BF3EE6F721C0AB17E770EA7B2360A054D3E4E878647245FCF87B2335098303004CDDC2B9DCDA57DB51021D034E48F160EC5855CCCD9F995988AD1B554AD1B591E64283E91A07D151028180017324ADC1F93CF002FA2B0619C60F897CDED488E457685625E1565377483C0FA4A7FD1CAE848C727E76654434CE3CCAF81EC6E6AAA156EEBBEA095F642FD0DA2D043996ACC14A1B1A6110B19C094638E29890B89AF5812E97C5F96F33B1FD7415079947994442295CA34447807662FB70621F069A98AE274D01B2777BF4E97E041F021D00F9F02A2BC1930F1AC93198F3D532BC937941D7C9A1E16F0EB932476E

View File

@ -0,0 +1 @@
3081C70201003081A806072A8648CE38040130819C024100E64283E91A07D10F557B7B758DC8041CE6CFC57DFE0AAA33FC8FEC48BEEA37562AD13359236FFFF6EED3FB921690D2FD1339F8E1DD406EED70D7EE3085E3AADD02150F4E48F160EC5855CCCD9F995988AD1B554AD1B5F3024062503DFB092F0FD0D8BBD90B50A834A6BD5B0995BCFC1CC8C8C83103AA6837F3FBFF3E042E1B25E36963DB2FCFD7AD24A6626E65A1F6EECBB399F5CE73659F29041702150450A037413E9A711E601318AF21D32A498C0C501E

View File

@ -0,0 +1,9 @@
00000000000000000000000000000000 00000000000000000000000000000000 DCC07B8DFB0738D6E30A22DFCF27E886
00000000000000000000000000000000 DCC07B8DFB0738D6E30A22DFCF27E886 33CAFFBDDC7F1DDA0F9C15FA2F30E2FF
CB14A1776ABBC1CDAFE7243DEF2CEA02 F94512A9B42D034EC4792204D708A69B 225DA2CB64B73F79069F21A5E3CB8522
86EDF4DA31824CABEF6A4637C40B0BAB 4DF955AD5B398D66408D620A2B27E1A9 A4B737340AE6D2CAFD930BA97D86129F
000000000000000000000000000000000000000000000000 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 97778747D60E425C2B4202599DB856FB
D158860838874D9500000000000000000000000000000000 93A953A82C10411DD158860838874D95 4FA0E5F64893131712F01408D233E9F7
791739A58B04581A93A953A82C10411DD158860838874D95 6761C42D3E6142D2A84FBFADB383158F F706BC0FD97E28B6F1AF4E17D8755FFF
0000000000000000000000000000000000000000000000000000000000000000 62E45B4CF3477F1DD65063729D9ABA8F 0F4B897EA014D21FBC20F1054A42F719
FBA167983E7AEF22317CE28C02AAE1A3E8E5CC3CEDBEA82A99DBC39AD65E7227 1344ABA4D3C44708A8A72116D4F49384 458335D95EA42A9F4DCCD41AECC2390D

View File

@ -0,0 +1 @@
3082011E028181009A21FC66469293103CEF66960B17880F905C738DB692B7481922FC2D454D14067C6BFC158B93FCC1B8D128D4D86D893082F8A3592238EE8B693B6245F26F55968D7D13752D6BFBA271E8E36E11482815D887BB9F6B600E820E7E2AF2EE6ECDBC1CB35B12A4EF48A8907C090482DE7D49B751BB3A50F78BE29506114BC85D3A6102150C896422EC558A74B883BA85E2F10D4A58F28D2B09028180350C4BB19C0A9B224E5E1BACCC1B1952A97628021B4673831C851C3280F06D3EFA73DAE27E5D4E4A0499E0B2B9A369649E883A1F260EF250B5CCF3E3C922332B210EEA07D3BF92210BA7A7374A30DDDE3D1B3D575B77CD36B001EAE4A2A3BFAFF12FCE74F3330B30ACF6DCFF580ECBFB5B00FD5DD2B8EA9DB09C7E1C7100BD67

View File

@ -0,0 +1 @@
308202280282010100A5C07CE5BF0894C0BA8752F4D9A6D0BF6556D325B618A655CCFE3EEC85B56D47DBDF5A9A5C8588AE6F4C44BBCB339E869A21BE057A243DC797B912C547FBA359C4FC9965C72278370AB6C0DD246197A8D83A08C69425786482D1744C41FBB3C36BEA5963C05B0778AAEF9230C3E2E12072268038E5ADB6433542F94D8C25A6A1785E4D2D97AF119F2139E69AECA46F11B344785A0B1B280CF8D678AB9627780271A350A9B15B92E105F14733C5F15C1753F7C48A645FAAAC1BFA266B5AD6F7C46350465DA31150ABB10FF63FD6C01C849DFCD5645C5D1AF8B967372449DF90D02177E12439BD36A1EED1FAEDB8166927F755B71A5368CC27CD00AB5CF04601E7021D03134944D9AA15697107F48AC5621A1531649AD5EE8EEC1D1F282B5481028201003468652FBB1E3C7F2FBB99A89EA14FB9205F534943034CDE9D9CC57A790D9713EC7B21032EAA8ED2B24FFABD612EDADFC9265964C753AE276380294D4D16C63389A4C392A0058EF1549F6C0D13C4A09759C67650A51F7362B38C61AF2942A6004BB8C3CD4C489E66DE1567E2306821788A519727CD27945DBC5778AC6E8B1DFC05573D76DF9E9AA4F1CE657A2A07BEF833091614C0A6065507BD51099C54148327903626DE6D01FEC9A7F5F9A901C90E219D452C2E2A90AA2303A52776EF174CC85C1AA4F28924B1DFF3E3C5538D820A422374DCFB0D14D620AE282A72416C6506F02D3ED1E6208F66B9DB49294D8D605D7D146BB6A970211289B1BE7AB12531

View File

@ -0,0 +1 @@
3082014C0201003082012C06072A8648CE3804013082011F02818100F89F4EBE58E222B517D218D615BDC00611501CD18417886BD3FCBD22578C4611B1E8C06EB0FE9D473A5589BC277AA58C1979DC2869B728D78EC38B4C044A790A60314E7BD3DFDC0BBD8B770A9271D7D048F3E13C73866D096C7304782125847C70EDD721B36F1C379CF7CCEE0A728DD66336ED5F93E8A1BD3EDB22C8761EB987021526A578AB11C3A0812A636D24D120BE544B7973E4D302818100BF927ACE4D175A44622494E37F9552E97B74303321FFEF9B76CDECB14F7D612608DDFEA77C04A8FCACCF7F16CB01AE05AD5EDB65C3B9A380D720F34C7D96C8817E2EFF7D0049EE149DF61C52D7C80271206155CDAEBC8A7F4A8DCE5196E3C18FD5EDF11A394C43A5D59BC65D976817438CA0A7F01713548F61355E976DE75E1E04170215247B2531CFF01D1B1665F0CFD2A836446798353330

View File

@ -0,0 +1 @@
3082025D0201003082023506072A8648CE38040130820228028201010083C69F32A1F3A67B201D7A92BA204281681DAAD29F50BD866D70A2E01438653B18602AFE606AA925389381682EC0E2CE5D5D366793917879860799ECEDDB4831ED4A4E76D9C34FFDD0BC786588F00E8A19705B997C4298F9CAF9AEE46E0A5677AA1240DC141BD78A8720A829F64C912FA3D961ADE698C5344F18FE4CE70CF7B94F45258C6A9553830FFB80B6BB7E1C510D4526C1904C1D6E2F1B8C1CA6499DBD291438717131804FA2F5F42E5C06293D6DA493C88A38EBC6A6DCF40B2BAB0BF7C7FA0F9C070F1C48FD12CA2B7337E9C58EB9AFDAC6FEEAB0BD62415B26D405D6BF47F11D70B1740BC398A76BE70723A829082EB548D35F4D78E4E015DAD12D5B021D083118E4DC11622CB53E7E4D7634BFBDE45A2D8F8B097A251803505315028201005BAC6CBFE089F75274A532564735786477478F19BE099AB38E0F843393D6D81964CBCFF4B68C5DA2614F06BB844672288F0A65216954990051BA691CA6796AFAAE91A79350F53D9DF3CC688387306EFFDCEF70A14A672E2103B8C861523703157D05DF6EB42DCD81506C88300ED8D8ED40D41AB6D669D309C976B84D82C8D18747578358CBA1EF4B00118B0DEEF11409DD8CB0D83399A33E10C18249574FA2242AE4241CD789C891FEC1C63771EE4517274493240EDAAC44AEDC42F318A5122B052244DFA9A282B8D94BC4BAB360D44E4D0204F8D28817B5B6F808047C92032AA94926D697CFA2FC211FAAE26A5F1FC2B1EB03DA68AD5E01EAC489FB64A66EA3041F021D042ADA16929DA18A7A3C8FDCDD8FC46A6D8AAB79FF33D60E2BF09DEF4F

View File

@ -0,0 +1 @@
3082015202818100D132EDB1360E31D7B8DD84BB03111FDE0243FFE4031ED12B440E7FF36A634E57772EC81FFDC065607494717C6E16A5AB642283553442CC22569535C7A20E3D1C3E2B3747B26E9856D4A13D0325DC116DAAF8554B000321A753E5CFA730CA60F3E3FE2CA9750C6734A2A113AD4A76B6DAC5E199AB55F34CE6984BF56F6DFAC51D020105020102024100F90CBF726FA70ACB5074BD8E79932B74E9949057B627ABB29F41E5057AE699A03BC240EBB9637E956ABC0B6A20F633F78168A908086E2011FC5D030B9B94B51B024100D7097ACACD8BF8ED641A7D8A17A23F8FB385B92B760EEEB9A1233E1D25892F742315DE23DA0751F24EAE4C0C5B696D0AA0D16EAE94194193DC89D479A9626A2702403B5475CD2A7F519EF08433407826D89983C104AF1E74B44B79B31770149D224089300F828E0DF4CBC864BDB394C0F32CCF055F7B2B8872BF0B5F148020637B9C

View File

@ -0,0 +1 @@
308202970282010100B8F2A74040753A7706CB98B80DD9EE33FB7969FCA65A2025E96853267AEF80ABB184FE463B9475F5166307FAFA988F6CA4BBC7122E9555755191AA408BAF4464221394342104ED2762EEA4FED8B5CDB4234442AB979A487446AB37C4A4FD67C259EB942E28B50DD54F3AA14447931821291D4C21BB8BD58C41302F3E1D2E6FF84F84AACEC02196282C492E0354985A66EBA50B1903EDF70D98BD9837E694876505760C58C186F0B5F6500711500297956C9825EBDCCF90633239484F9A3572271D3CD585BFC195BED0D5FFCABE785B25BFF6ACFF2B7C125D54B26CFEF60B1B077B2F953960DAEB57F102B6A1E30AA88B643090BC4D8971077C1B54EA61E4E45102011302010D02818100D02603BBFDB55F1063DFCEBB4CA32F551330E0F2901D87DF2A395EF6AF340F6352CE3514FCE85705652DC6BD401CD0D5D13855B124DA172D5183A7474B85B683AA03382775F3D8DC600F33E696246F9F2134E2DA061923F47B85A923EBB375B07DE3B43EE4FD71D3E24B4B416DAE6E4C2B6D32A9B45BF04296AECAD60C33DA0702818100E3773B5D8B828BEA922392100C54CDF41D0CD26B4C34A64F483B7975AB35920DA0E3F6AE238E72E26F8A498D9AD0C4A75C52F25421E1E2E3865ADD1A0FCEA4DE932DBE6EBEFA689494855B11714B960F57C5102C0E8876D253ABA8C2D6A511DBC0F30589A0FBE66AD6BCEFDFC4F67F8347726A52736274B7F744ECACFF6198E702818100BF84B25DB607930F80ED57C7AF89E7604B7E8E0D341C9C4A0C94FFE6D4B38810553B1E92F7BF9651D3D0149A9188E1FFD1FB86753A327ABC6169AF92271E7204A2C76488FBC781984BA99C3C48C8A799054DA34A201743C3064B4609831B35FBA2B8B1BC67FFD0C685DBA92FE688AD51D1F161C06EC0B9E0D0E187863BFBBEC0

View File

@ -0,0 +1,48 @@
08
3F
00000000 00000000
00000000 00000000
ebb773f9 93278eff
08
40
ffffffff ffffffff
ffffffff ffffffff
278b27e4 2e2f0d49
08
40
30000000 00000000
10000000 00000001
30649edf 9be7d2c2
01
40
88
00000000 00000000
61a8a244 adacccf0
07
40
88bca90e 90875a
00000000 00000000
6ccf4308 974c267f
10
40
88bca90e 90875a7f 0f79c384 627bafb2
00000000 00000000
1a807d27 2bbe5db1
10
80
88bca90e 90875a7f 0f79c384 627bafb2
00000000 00000000
2269552a b0f85ca6
21
81
88bca90e 90875a7f 0f79c384 627bafb2 16f80a6f 85920584
c42fceb0 be255daf 1e
00000000 00000000
5b78d3a4 3dfff1f1

View File

@ -0,0 +1,5 @@
00000000000000000000000000000000 0000000000000000 21A5DBEE154B8F6D
915F4619BE41B2516355A50110A9CE91 21A5DBEE154B8F6D F7C013AC5B2B8952
783348E75AEB0F2FD7B169BB8DC16787 F7C013AC5B2B8952 2F42B3B70369FC92
DC49DB1375A5584F6485B413B5F12BAF 2F42B3B70369FC92 65C178B284D197CC
5269F149D41BA0152497574D7F153125 65C178B284D197CC EB44E415DA319824

View File

@ -0,0 +1,17 @@
00000000000000000000000000000000
00000000000000000000000000000000 8FC3A53656B1F778C129DF4E9848A41E
0123456789ABCDEF0112233445566778
02132435465768798A9BACBDCEDFE0F1 524E192F4715C6231F51F6367EA43F18
000000000000000000000000000000000000000000000000
00000000000000000000000000000000 6cd61bcb190b30384e8a3f168690ae82
0123456789abcdef0112233445566778899aabbccddeeff0
02132435465768798a9bacbdcedfe0f1 688329d019e505041e52e92af95291d4
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000 8f5fbd0510d15fa893fa3fda6e857ec2
0123456789abcdef0112233445566778899aabbccddeeff01032547698badcfe
02132435465768798a9bacbdcedfe0f1 c8241816f0d7e48920ad16a1674e5d48

View File

@ -0,0 +1,9 @@
000102030405060708090A0B0C0D0E0F 000102030405060708090A0B0C0D0E0F 0A940BB5416EF045F1C39458C653EA5A
00010203050607080A0B0C0D0F101112 506812A45F08C889B97F5980038B8359 D8F532538289EF7D06B506A4FD5BE9C9
14151617191A1B1C1E1F202123242526 5C6D71CA30DE8B8B00549984D2EC7D4B 59AB30F4D4EE6E4FF9907EF65B1FB68C
28292A2B2D2E2F30323334353738393A 53F3F4C64F8616E4E7C56199F48F21F6 BF1ED2FCB2AF3FD41443B56D85025CB1
00010203050607080A0B0C0D0F10111214151617191A1B1C 2D33EEF2C0430A8A9EBF45E809C40BB6 DFF4945E0336DF4C1C56BC700EFF837F
1E1F20212324252628292A2B2D2E2F30323334353738393A 6AA375D1FA155A61FB72353E0A5A8756 B6FDDEF4752765E347D5D2DC196D1252
3C3D3E3F41424344464748494B4C4D4E5051525355565758 BC3736518B9490DCB8ED60EB26758ED4 D23684E3D963B3AFCF1A114ACA90CBD6
00010203050607080A0B0C0D0F10111214151617191A1B1C1E1F202123242526 834EADFCCAC7E1B30664B1ABA44815AB 1946DABF6A03A2A2C3D0B05080AED6FC
28292A2B2D2E2F30323334353738393A3C3D3E3F41424344464748494B4C4D4E D9DC4DBA3021B05D67C0518F72B62BF1 5ED301D747D3CC715445EBDEC62F2FB4

View File

@ -0,0 +1,32 @@
30820274020100300D06092A864886F70D010101
05000482025E3082025A02010002818100A39D4F
72D1BCFF65A47545C2897C0464CE9181E8703421
2EC04407C4C24D569AA20C58B8138C85E17510BC
6B861CADA9034C3ECE3B050B546E97D2BDC07A07
CF8A612F7D3646739633041893EF18C411264E45
C9E033A1BD5EE5FA02D95E9A9ADA2D0C6DF480E3
2FA3FCE02889798455CE53F084AAB4C5549266F7
CE8C77DF1D0201110281800E6FC33ED64561D443
378627C0D63C9F7BA36D584622B7A23E241ECD98
AC78952C6A804C7A320BD020EAE372E62FB4F853
1D50D5F6261796823A929845B06A19B35A5227CB
C819852A9CBE588CC2D1CEE07F426D13C2BF2FCA
1C99FDEEFDFE387859E2B3F654E85A71481A71E9
D5256583B1200F29C1AA0F437CFDC2AEAF218102
4100D5DDB104AD074F6C1B8192D9AC8AED4DE05C
F5C6509490DA8CCFC91FDF7B3A1323E03894DCAA
B2587716D652A56904F86244E10C1B8FA597C389
2591C55DBD65024100C3D930B583B8AD9A349218
795C988CF0004F09DA04FFEF6FDF7CB4FA654F74
B262521FE185693CD6290A337589F62CDEECE24E
CCB5E79865275540F3B603FB59024064A48F89BA
D6437E2B0FCCA2AB8CABE86995285D5318BCA315
167CC3B47639726B3C56DCA41417B128FBB026E4
6DA7FC6A7AC441EEDA2FCEF29AE480D5594A1102
40228FBD4D355CD35772B05EAC014818DF0F1D01
BD0FF0EE04AEF7E3B3B7867E015CA514AF53C746
F89DD49FAB5494DABDED9159332F28DEA8705A56
C198974A79024100D1DCA40FBD19036F0E2A9438
7D03C090DDF0A677CDE0B8634A81F247752A355E
C1CEA2482A4887767145C2BA703C9C10228FDA1E
BB2EBEA73D23AA9C34182179

View File

@ -0,0 +1,61 @@
308204BB020100300D06092A864886F70D010101
0500048204A5308204A10201000282010100BB25
80EB6B368287A0A3BDDF6AAA9EDA2EEF15D92C5F
E0B1C21473175C39B685A6FB0B0DB611092C19B4
FA3CA5BB20F311E35B2E1097F48B077DF7684BEB
9A34EB78C7B5F02ADFAEA3F3A66F1EF91B0C47DE
68F0501F80A7E9603F794E928949F152C049A011
D7E58C72F9303781E4FE7129DD7B87B5448D440A
62CE8E9C801F245039E2724A9C37CB17457950B7
B3C4C9BE4D17A29EFC1EA1EF464FBD21DABE9F10
ED0EB132405D68E4304008083BB675DA97CB6219
147A1EB93D38A9C4023540F871272A85B45447B3
6DE9A708E412CD31B1CB6470E4A37CBEA6000F36
632DF86FD3C34466C63BD80F1350E4DD5081597F
F34F94F07AE6430DCC0563B1F7CF020111028201
00034D763A5DC03580E33616ED5ABABA855B2E62
4495DD8D002009656B5473772C85F55F10CE81CE
77BE31E04657410B1F6535B4CF1E6914E152F4AB
84DA2FD409F81BBB3DF0A96A58EACC9501F60162
5C1356BF97D139C78A7E18496708EA7DE7B47266
C81363B3FF888085E7403A028901FF3BA04C2EDE
930EC0EFAC4DCF8FD054C1119562A1C7CA455D79
36CB95A16CE611ABC97918961DE6720CE171CC69
A590E9A041EC1DAC6FDCF2E04946C100E03DEFCA
29FF480C926CD48589EB832D4476CF38AB320754
D97BE77FDB9E5F2DCA1A2ABBC33D0790FE8C22CF
694BB8E0265733A5A17CC5D07DB54515DC80216A
A23A43EB12783888FF424EDB26FAF7DCB9028181
00EB4C87F67AEA3F2047BF9DF61947DF2BA7E1C1
64A03A8E3ED5F3BC6CDEE99FC6251C6A28F9502F
0A4B5A0CFA8038A12A2270AAE2C9342EDBA207CE
0F170B6D07550670CFEAE730B9411E66CD2D485F
3FC3E9C5348D32C768F68A53C756E66BE0FAC7E8
FDC9FBE22644961782DA5DDC19D75B64D2E8B660
052DDC95AD186633E902818100CB9C7830223B78
FC28A6D2B77C50C3D389F32FC4DEF33341741205
5102F8D852663DB44E1EA5E5E58A71D30D33C168
E94855D79CC19CC7DFBAFBDFF7710490064A1375
1CD75466219956B9D4C0AF0CC13E7D075F54E6AF
8CD67FBE3F4AB90425B039410686A168421E2E24
FF0319D9D3F1C685BB650BC7B5BD12090CBDC392
F702818060E3470B238DA185C330C89282E15BE4
CCA84092D89094ECB2736BB45BC99C2469A249D4
A2E4C8134C34237634CC06206888BED5DA60C800
158ABE4272E6964E502FD41960B98C888439B1DC
039645567DD8BA9D2B14E8B2BFDE9AF7BA5EE120
674341D1E9C211D385A736DB871796DD76CB47A2
239663C5E5B52E9291937EC902818053D704500E
187D1C8935A20F514E6EC08418D76F2EA060663E
DA3E6CA6DEEFA97564B3A7B2444F9AC08938C933
6DC1C9782358C8137CCAC5893A8965E33E1D2FC4
262129FE4FEDD1997E10488B935F9ADD7EC6CCE6
B957581C167B83791F01B52A71ED99467EB27593
F4E20EA6EC86DECCF7643E1A8C614AD561C77DB7
8CC40B02818100AF950A287679E6C55020400E8A
AD0642DB1C11D9AD5AE85F1B6FD2829D869453C9
F67C0210D0847A4BD47C57FAECD9BE540BD66989
E6C43F62D725B3D841B4F1DB7C28A722337358C8
D1CD55F5CA6E31FAD6F827756BA074944D345C8D
2FCE759F4244B948D06F5AC863DEAAEF279B2F69
955ADAD1F39DEA9DA028B94EF22F11

View File

@ -0,0 +1,77 @@
30 82 04 bd 02 01 00 30 0d 06 09 2a 86 48 86 f7
0d 01 01 01 05 00 04 82 04 a7 30 82 04 a3 02 01
00 02 82 01 01 00 d2 54 95 37 95 5e 3b f5 1e f0
29 dc d3 c7 b7 08 e8 a2 fe 84 ed 16 52 c9 cf 06
73 6b 1b 6d 5b 31 50 21 77 af d6 f9 bf ea 2a c3
ca 7d 52 58 f8 8d 12 bb c1 01 ac 19 7a 33 de 9e
52 91 a4 94 65 04 cb 34 dd 3b 5b 7b db c8 5e 1a
b4 91 48 c2 a1 fd 9e 10 9d a6 df 9f 63 70 e9 3c
ff fc 71 7b dc 08 97 00 64 8c ed 5a 78 ce 56 38
ee 0a 36 0d 4a 9f 3a b7 7f ea 38 9d 83 cd 4a fa
2c 92 fd ae 68 74 7d 25 4b 26 65 97 cc 21 43 ae
ec 6d 5b 90 ec ec 45 de fb f1 7e c3 58 95 a2 e7
e3 16 82 a4 a9 0b 77 05 7c d6 cd b8 95 d1 27 b5
db c5 33 63 f1 92 1c 3f 25 82 bf d1 8a 89 c4 65
c0 e9 07 e5 ba 17 b5 36 30 d7 a7 1c f3 bf 16 00
76 99 f1 d9 7c db 2b 52 ca c6 22 6d d6 ba 7f 16
27 f0 c1 ee 3f 8d ad 4a 69 48 41 57 8d 57 0e a8
a4 bb c6 3c 41 5d 7e 42 49 3b 3b 8d b5 b0 88 f3
2d 50 1b ec 0e ff 02 03 01 00 01 02 82 01 01 00
89 11 50 10 e2 09 80 3f 54 c3 24 34 e1 da d4 00
3d 43 03 64 f2 f0 ca 50 f3 d6 7b 5f 00 87 ba 97
1f 66 40 0e 5a a5 75 99 0f f7 7a 3d 43 6d f1 c4
55 c1 ff 9c ac 60 0a 10 45 72 9d d2 86 13 a2 e5
85 db d4 94 bb 20 b3 71 17 4a 86 03 ec 0b d2 ef
69 93 e0 79 80 5f e9 b9 0a 76 93 48 1b 58 a1 63
03 ac e0 da 2a 4f fc 4c 53 4a 54 6e 59 1d 3e 55
18 39 bf 65 8f 31 af 54 19 19 81 f4 e4 d7 44 ff
fe 73 2b 57 28 4b 2f 43 53 81 d2 b1 e0 ad a4 88
b2 11 ae d3 3a 7f e6 de c4 41 bb 22 07 1a 15 a7
c0 d6 b2 69 4d 01 c8 21 aa b8 9a 3b 3a ad 49 8d
ae 53 b3 8c b4 7f 2a 23 f4 0c 73 53 4f 2f c5 d5
1d 22 68 6a b9 31 0a 9c ba 79 59 12 e9 59 d4 1e
80 7a 2d 45 63 a1 89 2f 27 72 39 60 a3 5f 3e ef
26 47 63 42 ce 40 db 4d 26 01 ca 5e 00 5c 96 ef
77 48 7f 1d 09 45 99 d2 bb c2 ed d3 11 37 a1 91
02 81 81 00 f0 35 21 ff d4 d1 8f 13 ed bf 5f 87
43 37 31 25 03 fe bf be b7 81 da d1 d3 d5 36 e6
35 3d b5 77 eb 8e 86 73 12 e5 4a e7 0d a4 d4 66
7d df 44 bc 2f cb b4 71 65 bd 00 bc 29 2a 08 4f
35 78 31 59 98 56 e0 db 36 89 0a ca 0b ca 6c 94
07 de c9 a4 b4 18 a4 bf 92 92 78 c7 c1 69 da 18
80 ea e3 7c 9a 72 35 1c b3 6e a4 1d ab 5f ae 91
af a0 c9 0f 85 b8 b8 a9 c6 55 39 6e 91 75 c2 0f
8d 04 bf 79 02 81 81 00 e0 28 98 94 00 4a aa f1
a9 9b 17 cd 00 74 81 f6 b3 df e1 d3 98 ca 05 86
b2 e1 42 e4 81 92 df 10 cf c0 92 ec 9d 0b e1 b4
43 9d 9d 14 13 e1 29 78 5c f9 99 ee cb bf 09 09
c7 90 18 dd e6 3c db 38 b2 85 cf db 3f 3d fc 85
ed 78 1a 31 89 41 3c 39 0b ab fa 23 c8 95 c6 f2
a8 c1 ee 82 99 b6 bc 5e ea c6 ee 83 18 2a 27 29
22 d7 e3 34 da f1 e8 8c 82 f0 b5 3f a4 8b be 01
23 37 f3 4b 10 c7 4c 37 02 81 80 4c 18 e9 0e 7d
43 6e 4a 67 f5 4a b4 35 4d 14 da 9f 2b 63 5f 6e
0f 4b 5d 51 f8 a8 0d c2 2c 2c 83 33 32 d1 d1 3e
d9 39 23 7d a5 0c 4c f3 ef 79 7d 0c bf 42 08 f2
ac 2f c1 6c 61 0e 84 d9 71 9c 60 bf ec 36 0b fc
78 e9 dc 1c 64 22 85 bb 00 8f 6d 08 49 0e 58 4a
7c f0 9a 87 e1 9a e0 4c 67 1d 6e 6a 17 68 50 11
60 29 c9 e4 72 c9 81 09 dc ac 15 a8 cd 5e 63 1a
9c 01 37 d0 09 38 53 68 df 6a 31 02 81 80 4d 90
fe ab 48 26 8e 5c ad 8a 03 84 66 c1 ea 2f 0a 33
50 9b bd e5 3a 60 50 09 ee f1 cf 7c 99 3f e2 04
0b 53 61 4c b9 3f 7d 9e 4e ba a1 de 6a 51 42 2b
04 ff 42 f5 ca 14 de 3f 98 bb 40 6e 92 95 5e 01
3b d9 ec 5a 70 c5 8f 54 de 0b 82 29 56 c3 8e ac
66 14 77 d6 8c 4f 6f e2 1b bc 89 a0 58 32 a8 1f
4a 6d 86 b1 1f 77 f6 9c a9 fc a2 3e cf 6f bf e7
b7 70 5c 6a 16 c7 a1 fe 3c 6c 1f 54 37 a5 02 81
80 08 9d 30 ca da d1 af 53 16 e3 77 bf 9f 2b dd
38 a8 20 f9 e5 57 fb 7a cc 4e c6 0d d5 03 22 9f
f8 99 f5 61 69 88 3b 7b a7 c0 ca dd b2 1b b7 34
0b 5d ed 9f 37 fb 02 7d ef 01 2d 29 1d 75 9a ba
1a 5d 7b 77 47 e6 da b5 d7 a9 06 f2 61 5d 46 f9
6d c3 81 de 8f 5d 08 ac a6 b6 b3 51 7a 97 08 36
d3 d8 95 6b 08 e8 e3 10 24 61 67 97 c7 40 68 9e
b7 84 09 14 3f 95 02 3f 75 8b 8e b1 2c 80 b3 5f
03

View File

@ -0,0 +1,10 @@
30 4c 30 0d 06 09 2a 86
48 86 f7 0d 01 01 01 05
00 03 3b 00 30 38 02 33
00 a3 07 9a 90 df 0d fd
72 ac 09 0c cc 2a 78 b8
74 13 13 3e 40 75 9c 98
fa f8 20 4f 35 8a 0b 26
3c 67 70 e7 83 a9 3b 69
71 b7 37 79 d2 71 7b e8
34 77 cf 02 01 03

View File

@ -0,0 +1,41 @@
30 81 fb
02 01 00
02
33 00 a3 07 9a 90 df 0d
fd 72 ac 09 0c cc 2a 78
b8 74 13 13 3e 40 75 9c
98 fa f8 20 4f 35 8a 0b
26 3c 67 70 e7 83 a9 3b
69 71 b7 37 79 d2 71 7b
e8 34 77 cf
02 01 03
02
32 6c af bc 60 94 b3 fe
4c 72 b0 b3 32 c6 fb 25
a2 b7 62 29 80 4e 68 65
fc a4 5a 74 df 0f 8f b8
41 3b 52 c0 d0 e5 3d 9b
59 0f f1 9b e7 9f 49 dd
21 e5 eb
02 1a 00 cf 20
35 02 8b 9d 86 98 40 b4
16 66 b4 2e 92 ea 0d a3
b4 32 04 b5 cf ce 91
02
1a 00 c9 7f b1 f0 27 f4
53 f6 34 12 33 ea aa d1
d9 35 3f 6c 42 d0 88 66
b1 d0 5f
02 1a 00 8a 15
78 ac 5d 13 af 10 2b 22
b9 99 cd 74 61 f1 5e 6d
22 cc 03 23 df df 0b
02
1a 00 86 55 21 4a c5 4d
8d 4e cd 61 77 f1 c7 36
90 ce 2a 48 2c 8b 05 99
cb e0 3f
02 1a 00 83 ef
ef b8 a9 a4 0d 1d b6 ed
98 ad 84 ed 13 35 dc c1
08 f3 22 d0 57 cf 8d

View File

@ -0,0 +1,35 @@
30 82 01 50
02 01 00
30 0d
06 09
2a 86 48 86 f7 0d 01 01 01
05 00
04 82 01 3a
30 82 01 36
02 01 00
02 40
0a 66 79 1d c6 98 81 68 de 7a b7 74 19 bb 7f b0
c0 01 c6 27 10 27 00 75 14 29 42 e1 9a 8d 8c 51
d0 53 b3 e3 78 2a 1d e5 dc 5a f4 eb e9 94 68 17
01 14 a1 df e6 7c dc 9a 9a f5 5d 65 56 20 bb ab
02 03 01 00 01
02 40
01 23 c5 b6 1b a3 6e db 1d 36 79 90 41 99 a8 9e
a8 0c 09 b9 12 2e 14 00 c0 9a dc f7 78 46 76 d0
1d 23 35 6a 7d 44 d6 bd 8b d5 0e 94 bf c7 23 fa
87 d8 86 2b 75 17 76 91 c1 1d 75 76 92 df 88 81
02 20
33 d4 84 45 c8 59 e5 23 40 de 70 4b cd da 06 5f
bb 40 58 d7 40 bd 1d 67 d2 9e 9c 14 6c 11 cf 61
02 20
33 5e 84 08 86 6b 0f d3 8d c7 00 2d 3f 97 2c 67
38 9a 65 d5 d8 30 65 66 d5 c4 f2 a5 aa 52 62 8b
02 20
04 5e c9 00 71 52 53 25 d3 d4 6d b7 96 95 e9 af
ac c4 52 39 64 36 0e 02 b1 19 ba a3 66 31 62 41
02 20
15 eb 32 73 60 c7 b6 0d 12 e5 e2 d1 6b dc d9 79
81 d1 7f ba 6b 70 db 13 b2 0b 43 6e 24 ea da 59
02 20
2c a6 36 6d 72 78 1d fa 24 d3 4a 9a 24 cb c2 ae
92 7a 99 58 af 42 65 63 ff 63 fb 11 65 8a 46 1d

View File

@ -0,0 +1 @@
3082014D02818100BECF1F40456801F6965E603BEBB61F530F0B17BBCB00E3A8866EB9BC84AE3892A4CB040280F568FC650B1734014CA78A200D5E4AB394CBB75C0034DCC47643E6F576A39F850C5F4528048165B084C82E9BA6BA4CFBCB3980F1EB47EC2C348EF52A6225A85AF743DFCEF5CD4583EB0B9C0DA77ABEBEB5BCC513D81BD768B579AD024100F06CA9C1FBE20EE2440F3AB2F9A9787D820943EAF59B6B8D103CFAB1C2F595DDC99D05DC73F9D1DB780B6F8B26CF87E58EB870DD983A2515600DF80C3EBB7B1B024100CB2B9BDEB0D508E21E646C86D836442FC16910D68C8D1D18BB1327899A506C16C1162E93EA7C2CB576B750AEAB152255D5AB22632025CFFAD927A070CBAEA2D7024100C90A853BEC7C25D773FDDB95C11CEF9BB3F487953773F07E42DB9D011325AE2725663478FB7F0EC1A5608280D9656BF3B9F463FF8B23F1CA1B543508D51826E2

View File

@ -0,0 +1 @@
3082029002820101008F2975B4DA54179A6C81764DB9E6B50AD925C91568DFE2C245DF9103AF39370BD5F25CD26BF6E41B6FEB0E24473BBFAE89343BC20743057B056BD2189C01258650567A3EC24040EED7EEAF94B77BDD39529807D1FCF5FF4A90E6B42BA58FF1FDCDACF981C641B8F077ABBB41BEFD53CCABF06745CD009A7F9DFAA61ED03F11466E4B5370DFA18C7DFEA1689B60F98012CDE9131FE86F74BFC6B93AC449DA73A2366EA2AE2233AFFBFF0CDE1899B1F852C179639B31CEE11991AA8D46DB5067B0C5FFB3D913612668F0C43CA134B11875F271C0BC8722AF4AD6CC93A43CE165EF31C1EB542ECC7CA1A38BFDF66F3A2175E4EA7159E168FFE3A549535B90C7BBDD02818100C5CEBA84E8B7C20BAA6F450000803F15C1160EB7E0875EBBC15F11DC7E3CAFE55973234FF4C74589406D2950B0C236ABE1B5A5B70D55C035F45D87AF089847C0E2A2DEF23EA4CC19FB5419DF43577523248BEF80B94C59F7342C717F12DE68FEEADAD97BA2DD436834D8559D0A7A31D6F9D9480F852C285EFC75BCA8AF32590302818100B947440D272629155C2B3E0E62B76124281155F7A189650D36C8F7D742F7DBC571ADDCC582ED2ED283C2E8A1CD8C996D3D8A50F33C56581285C5016A16DEDA533715DF519CAB7777F3DCB9F5335552F315B44FF8126DFDDF60B66850AA8FD108ED3A248D18E7473D7967F0F15C740C67476A75273DA254AE5C7B94FB059DD19F0281801EE99173837363981E0988DE22B2E36BFC9713EDC8454BF1CB764D767DFDA985B9DBAA346C0C39B1A9F83D849502AFDD80AE33F588C114BC4DE5FA949125FF56908F8C66CDFF6BF601F1CBF463B0C807DEABB1290C358FC0433ED74EBA074CB211C4D75538ED017F497C9722D8C3D3E082BB4A8A92D5768B5D5963BBDB1DB24D

View File

@ -0,0 +1,16 @@
0000000000000000 0000000000000000 032808C90EE7AB7F
0000000000000000 0102030405060708 7D28038633B92EB4
0102030405060708 1011121314151617 71E5CF7F083A59C5
0102030405060708 18191A1B1C1D1E1F 356F702CC7FA8161
08070605040302010807060504030201 5051525354555657 38E64DBF6E0F896E
08070605040302010807060504030201 58595A5B5C5D5E5F 7D8F014A902480FE
01020304050607080807060504030201 6061626364656667 113511C22E7936DF
01020304050607080807060504030201 68696A6B6C6D6E6F 9EEB2D17C0581437
0000000000000001 7071727374757677 9ABE2C85BE2D7614
0000000000000001 78797A7B7C7D7E7F EBC4A9C6C25CF215
0102030405060708 8081828384858687 54E72BA2D744C566
0102030405060708 88898A8B8C8D8E8F 57F55D0F7EB6F8FE
00000000000000010000000000000001 9091929394959697 9EAA4DF1E0EFF445
00000000000000010000000000000001 98999A9B9C9D9E9F 4CC14838399E532D
01020304050607080000000000000000 A0A1A2A3A4A5A6A7 41246B65F1DC6AFA
00000000000000000102030405060708 A0A1A2A3A4A5A6A7 5CBD77B03626FE3B

View File

@ -0,0 +1,12 @@
00000000000000000000000000000000 d29d576fcea3a3a7ed9099f29273d78e b2288b968ae8b08648d1ce9606fd992d
00000000000000000000000000000000 d29d576fcea3a3a7ed9099f26d8c2871 563a8403ff5309d62370b1dcf5a11edd
ffeeddccbbaa99887766554433221100 1032547698badcfeefcdab8967452301 d5baa00a4bb9d8a7c981c8dc90d89d92
ffeeddccbbaa99887766554433221100 145f0b8b663176b95dcab7e9dcd5cc24 1032547698badcfeefcdab8967452301
80000000000000000000000000000000 00000000000000000000000000000000 264E5481EFF42A4606ABDA06C0BFDA3D
000000000000000000000000000000000000000000000000 d29d576fceaba3a7ed9899f2927bd78e 130e353e1037c22405e8faefb2c3c3e9
8899aabbccddeeffffeeddccbbaa99887766554433221100 1032547698badcfeefcdab8967452301 da860842b720802bf404a4c71034879a
8899aabbccddeeffffeeddccbbaa99887766554433221100 b2696bd0d98c17953e4239225d27202c 1032547698badcfeefcdab8967452301
000102030405060708090A0B0C0D0E0F1011121314151617 4528CACCB954D450655E8CFD71CBFAC7 00112233445566778899AABBCCDDEEFF
0000000000000000000000000000000000000000000000000000000000000000 92074732d84e1841a013a0034c52bf50 81c4eb7b8ad9a8d0f2aa5d7bd626b560
00112233445566778899aabbccddeeffffeeddccbbaa99887766554433221100 1032547698badcfeefcdab8967452301 93df9a3cafe387bd999eebe393a17fca
000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F 3DA46FFA6F4D6F30CD258333E5A61369 00112233445566778899AABBCCDDEEFF

View File

@ -0,0 +1,14 @@
80000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 361AB6322FA9E7A7BB23818D839E01BDDAFDF47305426EDD297AEDB9F6202BAE
00000000000000000000000000000001 0000000000000000000000000000000000000000000000000000000000000000 7308AEC23D25A231B26448AFE78D5047804C5011B9B5F95C16DF2670551F0001
00000000000000000000000000000000 8000000000000000000000000000000000000000000000000000000000000000 2CAE7C0460EE2FC3200923A1B6C2ABEEA746C8B44F6C3FB941BD3AF02A3E6E3E
00000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000001 45D43E9288738C5AD1A683D8DE59CEDD22D666A2B7078EB1301B532A272D570B
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000 7CA51614425C3BA8CE54DD2FC2020AE7B6E574D198136D0FAE7E26CCBF0BE7A6
01010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101 0101010101010101010101010101010101010101010101010101010101010101 C4B7C6A9738C77EE28F7E685C8358E0AF88FB6D23955EE6DF49FE3F5DA16F826
02020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202 0202020202020202020202020202020202020202020202020202020202020202 CD108DD9EC1000B79C75AA3DCC88F913E6F52773853035A5C44F3245B134CBFF
04040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404 0404040404040404040404040404040404040404040404040404040404040404 6AA777340200C1B65AB25193A8BB267C233DAC7E1B3C523D406FC5B567B7B586
08080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808 0808080808080808080808080808080808080808080808080808080808080808 A23BE32D37FA4054EC45D6A9CC643AF9124EDAA4AD9ABC7FAAB449D39D11B128
10101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010 1010101010101010101010101010101010101010101010101010101010101010 F64819DFBEBE0A6DB650E7072CE28EA606586418B317785FF0AD44212A84C82C
20202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020 2020202020202020202020202020202020202020202020202020202020202020 E267D6113C27170A3EE6DF496E801A6131BBD3444365D7C03791E25610F1A0E4
40404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040 4040404040404040404040404040404040404040404040404040404040404040 C97909916EE86FFDCE8A92903046109B53F788A53039434DF1A394DAD6F697A2
80808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080 8080808080808080808080808080808080808080808080808080808080808080 C3C1CD5F3060B3EC4E6ABC0818B68449E1750FB482368C8F3305270E16F98735
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 0598127BAF11706F77402000D730C54A0B84C868A98C6CA4D7F3C0FA06A78B7A

View File

@ -0,0 +1,7 @@
00000000000000000000000000000000 0000000000000000 214BCF4E7716420A
000102030405060708090A0B0C0D0E0F 0000000000000000 C76C696289898137
000102030405060708090A0B0C0D0E0F C76C696289898137 077A4A59FAEEEA4D
915F4619BE41B2516355A50110A9CE91 21A5DBEE154B8F6D 6FF33B98F448E95A
783348E75AEB0F2FD7B169BB8DC16787 F7C013AC5B2B8952 E5E554ABE9CED2D2
DC49DB1375A5584F6485B413B5F12BAF 2F42B3B70369FC92 9AE068313F343A7A
5269F149D41BA0152497574D7F153125 65C178B284D197CC D3F111A282F17F29

View File

@ -0,0 +1 @@
11223344556677889900 aabbccdd00112233 00d3127ae2ca8725

View File

@ -0,0 +1,8 @@
00000000000000000000000000000000 00000000000000000000000000000000 3C00428F8ABBC0B84F057CC19C26F8CF
000102030405060708090A0B0C0D0E0F 00000000000000000000000000000000 FF596FA668BFC3014200AE01E2BBA0A0
000102030405060708090A0B0C0D0E0F 000102030405060708090A0B0C0D0E0F 7C3491D94994E70F0EC2E7A5CCB5A14F
000102030405060708090A0B0C0D0E0F C76C696289898137077A4A59FAEEEA4D 88C6FF4B92604C6E66656B02DDAF9F40
915F4619BE41B2516355A50110A9CE91 21A5DBEE154B8F6D6FF33B98F448E95A 3388801F66E7FCC0BCE522A23A4F0C7F
783348E75AEB0F2FD7B169BB8DC16787 F7C013AC5B2B8952E5E554ABE9CED2D2 A1C0E9215141343DEC2B556942C92BDE
DC49DB1375A5584F6485B413B5F12BAF 2F42B3B70369FC929AE068313F343A7A 3FBE6811B998CDF3E50ABDE2F3C075E3
5269F149D41BA0152497574D7F153125 65C178B284D197CCD3F111A282F17F29 D7B7209E0879744C782809B6D2E0B1B0

View File

@ -0,0 +1,9 @@
00000000000000000000000000000000 00000000000000000000000000000000 9F589F5CF6122C32B6BFEC2F2AE8C35A
00000000000000000000000000000000 9F589F5CF6122C32B6BFEC2F2AE8C35A D491DB16E7B1C39E86CB086B789F5419
9F589F5CF6122C32B6BFEC2F2AE8C35A D491DB16E7B1C39E86CB086B789F5419 019F9809DE1711858FAAC3A3BA20FBC3
D491DB16E7B1C39E86CB086B789F5419 019F9809DE1711858FAAC3A3BA20FBC3 6363977DE839486297E661C6C9D668EB
000000000000000000000000000000000000000000000000 00000000000000000000000000000000 EFA71F788965BD4453F860178FC19101
EFA71F788965BD4453F860178FC191010000000000000000 88B2B2706B105E36B446BB6D731A1E88 39DA69D6BA4997D585B6DC073CA341B2
88B2B2706B105E36B446BB6D731A1E88EFA71F788965BD44 39DA69D6BA4997D585B6DC073CA341B2 182B02D81497EA45F9DAACDC29193A65
0000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000000000 57FF739D4DC92C1BD7FC01700CC8216F
D43BB7556EA32E46F2A282B7D45B4E0D57FF739D4DC92C1BD7FC01700CC8216F 90AFE91BB288544F2C32DC239B2635E6 6CB4561C40BF0A9705931CB6D408E7FA

View File

@ -0,0 +1,81 @@
Test Driver for Crypto++(R) Library, a C++ Class Library of Cryptographic Schemes
- To generate an RSA key
cryptest g
- To encrypt and decrypt a string using RSA
cryptest r
- To sign a file using RSA
cryptest rs privatekeyfile messagefile signaturefile
- To verify a signature of a file using RSA
cryptest rv publickeyfile messagefile signaturefile
- To digest a file using several hash functions in parallel
cryptest m file
- To encrypt and decrypt a string using DES-EDE in CBC mode
cryptest t
- To encrypt or decrypt a file
cryptest e|d input output
- To secret share a file (shares will be named file.000, file.001, etc)
cryptest ss threshold number-of-shares file
- To reconstruct a secret-shared file
cryptest sr file share1 share2 [....]
(number of shares given must be equal to threshold)
- To information disperse a file (shares will be named file.000, file.001, etc)
cryptest id threshold number-of-shares file
- To reconstruct an information-dispersed file
cryptest ir file share1 share2 [....]
(number of shares given must be equal to threshold)
- To gzip a file
cryptest z compression-level input output
- To gunzip a file
cryptest u input output
- To encrypt a file with AES in CTR mode
cryptest ae input output
- To base64 encode a file
cryptest e64 input output
- To base64 decode a file
cryptest d64 input output
- To hex encode a file
cryptest e16 input output
- To hex decode a file
cryptest d16 input output
- To forward a TCP connection
cryptest ft source-port destination-host destination-port
- To run the FIPS 140-2 sample application
cryptest fips
- To generate 100000 random files using FIPS Approved X.917 RNG
cryptest fips-rand
- To run Maurer's randomness test on a file
cryptest mt input
- To run a test script (available in TestVectors subdirectory)
cryptest tv filename
- To run validation tests
cryptest v
- To display version number
cryptest V
- To run benchmarks
cryptest b [time allocated for each benchmark in seconds] [frequency of CPU in gigahertz]

View File

@ -0,0 +1 @@
302E020100300506032B656E0422042030D407BB0CC97D0EC493BDB00A4A8EFA06A50D2388F5BA62947030E7D9873F49

View File

@ -0,0 +1 @@
302E020100300506032B656E042204202818E54DE6B88EEF3E99E25042CB98E69373B222E4C1E8B3FB10AC9B26C1007B

View File

@ -0,0 +1 @@
3053020101300506032B656E04220420A00FADD6D29BE764B851F64F7620E80B700DF65914BED31E486362281BB5D061A123032100E9AD4CC54DAA36F312D98B253854F0076E2BC26FCE5802B3AC79A5B59B3D2C4F

View File

@ -0,0 +1,3 @@
305F02160559DCD66A95A57249A15BAD6B431BF2CD58615B901D02153365CFA0D3B1B6577B2DB243
DDE45EDB91C18B0F5F0216032F4EBA0911B3D0B14F6F1292A74DFFD4A8FCF22C1802160211CB3EDA
809FA0FF8C3A8AE691EC4C95A06A3395CF

View File

@ -0,0 +1,5 @@
3081A6022B28E3FED51D3D861D962B0A16A92ACDB380ADAFB478CA555004C3AF387F853F9DE9921C
7DCB40098D25C757021D03094844F135A3A50049A848C3FC02412FCBED6040FB1BDE99A4D93E3B02
2B13F411960B85F9B031A247E072046892B1EE6C95A47242A839F8E24B96B88F37B4BDA2C6D253BC
0AAF29F1022B0D2AFE639D324E558B2B312E435E03957769D745C881D259DDFD2F48F9C08F82ECCF
F4E7ADD47C705896D0

View File

@ -0,0 +1,214 @@
// dump2def.cpp - Written and placed in public domain by Jeffrey Walton
// Create a module definitions file from a dumpbin file.
// dump2def can be used to create a list of exports from
// a static library. Then, the exports can used to build
// a dynamic link library with the same exports.
//
// If you wish to compile this source file using cl.exe, then:
// cl.exe /DNDEBUG /Oi /Oy /O2 /Zi /TP /GR /EHsc /MT dump2def.cpp
//
// The intended workflow in Crypto++ is:
//
// 1. Open a Developer Prompt
// 2. CD to cryptopp/ directory
// 3. nmake /f cryptest.nmake cryptopp.dll
//
// The cryptopp.dll recipe first builds cryptlib.lib. Then it calls
// dumpbin.exe to export all symbols from cryptlib.lib and writes them
// to cryptopp.dump. The recipe then calls dump2def.exe to create a
// module definition file. Finally, the recipe builds cryptopp.dll
// using the module definition file cryptopp.def. The linker creates
// the import lib cryptopp.lib and export cryptopp.exp automatically.
//
// This is only "half the problem solved" for those who wish to use
// a DLL. The program must import the import lib cryptopp.lib. Then
// the program must ensure the library headers export the symbol or
// class with CRYPTOPP_DLL. CRYPTOPP_DLL is only present on some classes
// because the FIPS module only allowed approved algorithms like AES and
// SHA. Other classes like Base64Encoder and HexEncoder lack CRYPTOPP_DLL.
//
// CRYPTOPP_DLL simply adds declspec(dllimport) when CRYPTOPP_IMPORTS is
// defined. The limitation of requiring declspec(dllimport) is imposed by
// Microsoft. Microsoft does not allow a program to "import everything".
//
// If you would like to read more about the FIPS module and the pain it
// causes then see https://www.cryptopp.com/wiki/FIPS_DLL. In fact we
// recommend you delete the CryptDll and DllTest projects from the
// Visual Studio solution file.
#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
#include <vector>
#include <set>
// Friendly name
#define LIBRARY_DESC "Crypto++ Library"
typedef std::set<std::string> SymbolMap;
const int ErrorSuccess = 0;
const int ErrorDumpExtension = 1;
const int ErrorTooFewOpts = 2;
const int ErrorTooManyOpts = 3;
const int ErrorOpenInputFailed = 4;
const int ErrorOpenOutputFailed = 5;
const int ErrorReadException = 6;
const int ErrorWriteException = 7;
void PrintHelpAndExit(int code)
{
std::cout << "dump2def - create a module definitions file from a dumpbin file" << std::endl;
std::cout << " Written and placed in public domain by Jeffrey Walton" << std::endl;
std::cout << std::endl;
switch (code)
{
case ErrorDumpExtension:
std::cout << "Error: input file is missing \".dump\" extension.\n" << std::endl;
break;
case ErrorTooFewOpts:
std::cout << "Error: Too few options were supplied.\n" << std::endl;
break;
case ErrorTooManyOpts:
std::cout << "Error: Too many options were supplied.\n" << std::endl;
break;
case ErrorOpenInputFailed:
std::cout << "Error: Failed to open input file.\n" << std::endl;
break;
case ErrorOpenOutputFailed:
std::cout << "Error: Failed to open output file.\n" << std::endl;
break;
default:
;;
}
std::cout << "Usage: " << std::endl;
std::cout << " dump2def <infile>" << std::endl;
std::cout << " - Create a def file from <infile> and write it to a file with" << std::endl;
std::cout << " the same name as <infile> but using the .def extension" << std::endl;
std::cout << " dump2def <infile> <outfile>" << std::endl;
std::cout << " - Create a def file from <infile> and write it to <outfile>" << std::endl;
std::exit((code == ErrorSuccess ? 0 : 1));
}
int main(int argc, char* argv[])
{
// ******************** Handle Options ******************** //
// Convenience item
std::vector<std::string> opts;
for (size_t i=0; i<argc; ++i)
opts.push_back(argv[i]);
// Look for help
std::string opt = (opts.size() > 1 ? opts[1].substr(0,2) : "");
if (opt == "/h" || opt == "-h" || opt == "/?" || opt == "-?")
PrintHelpAndExit(ErrorSuccess);
// Add <outfile> as needed
if (opts.size() == 2)
{
std::string outfile = opts[1];
std::string::size_type pos = outfile.length() < 5 ? std::string::npos : outfile.length() - 5;
if (pos == std::string::npos || outfile.substr(pos) != ".dump")
PrintHelpAndExit(ErrorDumpExtension);
outfile.replace(pos, 5, ".def");
opts.push_back(outfile);
}
// Check or exit
if (opts.size() < 2)
PrintHelpAndExit(ErrorTooFewOpts);
if (opts.size() > 3)
PrintHelpAndExit(ErrorTooManyOpts);
// ******************** Read MAP file ******************** //
SymbolMap symbols;
try
{
std::ifstream infile(opts[1].c_str());
if (infile.is_open() == false)
PrintHelpAndExit(ErrorOpenInputFailed);
std::string::size_type pos;
std::string line;
// Find start of the symbol table
while (std::getline(infile, line))
{
pos = line.find("public symbols");
if (pos == std::string::npos) { continue; }
// Eat the whitespace after the table heading
infile >> std::ws;
break;
}
while (std::getline(infile, line))
{
// End of table
if (line.empty()) { break; }
std::istringstream iss(line);
std::string address, symbol;
iss >> address >> symbol;
symbols.insert(symbol);
}
}
catch (const std::exception& ex)
{
std::cerr << "Unexpected exception:" << std::endl;
std::cerr << ex.what() << std::endl;
std::cerr << std::endl;
PrintHelpAndExit(ErrorReadException);
}
// ******************** Write DEF file ******************** //
try
{
std::ofstream outfile(opts[2].c_str());
if (outfile.is_open() == false)
PrintHelpAndExit(ErrorOpenOutputFailed);
// Library name, cryptopp.dll
std::string name = opts[2];
std::string::size_type pos = name.find_last_of(".");
if (pos != std::string::npos)
name.erase(pos);
outfile << "LIBRARY " << name << std::endl;
outfile << "DESCRIPTION \"" << LIBRARY_DESC << "\"" << std::endl;
outfile << "EXPORTS" << std::endl;
outfile << std::endl;
outfile << "\t;; " << symbols.size() << " symbols" << std::endl;
// Symbols from our object files
SymbolMap::const_iterator it = symbols.begin();
for ( ; it != symbols.end(); ++it)
outfile << "\t" << *it << std::endl;
}
catch (const std::exception& ex)
{
std::cerr << "Unexpected exception:" << std::endl;
std::cerr << ex.what() << std::endl;
std::cerr << std::endl;
PrintHelpAndExit(ErrorWriteException);
}
return 0;
}

View File

@ -0,0 +1,7 @@
#include <cstddef>
int main(int argc, char* argv[])
{
enum {N = (sizeof(std::size_t) == 4 ? 4 : -1)};
int x[N];
return 0;
}

View File

@ -0,0 +1,7 @@
#include <cstddef>
int main(int argc, char* argv[])
{
enum {N = (sizeof(std::size_t) == 8 ? 8 : -1)};
int x[N];
return 0;
}

View File

@ -0,0 +1,6 @@
#include <arm_acle.h>
int main(int argc, char* argv[])
{
return 0;
}

View File

@ -0,0 +1,14 @@
#include <stdint.h>
#ifdef CRYPTOPP_ARM_NEON_HEADER
# include <arm_neon.h>
#endif
int main(int argc, char* argv[])
{
uint8x16_t x={0};
x=vaeseq_u8(x,x);
x=vaesmcq_u8(x);
x=vaesdq_u8(x,x);
x=vaesimcq_u8(x);
return 0;
}

View File

@ -0,0 +1,11 @@
#include <stdint.h>
#ifdef CRYPTOPP_ARM_NEON_HEADER
# include <arm_neon.h>
#endif
int main(int argc, char* argv[])
{
uint32x4_t x={0};
x=veorq_u32(x,x);
return 0;
}

View File

@ -0,0 +1,23 @@
#include <stdint.h>
#ifdef CRYPTOPP_ARM_NEON_HEADER
# include <arm_neon.h>
#endif
#if (CRYPTOPP_ARM_ACLE_HEADER)
# include <stdint.h>
# include <arm_acle.h>
#endif
// Keep sync'd with arm_simd.h
#include "../arm_simd.h"
int main(int argc, char* argv[])
{
uint32_t w=0xffffffff;
w = CRC32B(w,w);
w = CRC32W(w,w);
w = CRC32CB(w,w);
w = CRC32CW(w,w);
return 0;
}

View File

@ -0,0 +1,11 @@
#include <stdint.h>
#ifdef CRYPTOPP_ARM_NEON_HEADER
# include <arm_neon.h>
#endif
int main(int argc, char* argv[])
{
uint32x4_t x={0};
x=veorq_u32(x,x);
return 0;
}

View File

@ -0,0 +1,6 @@
#include <arm_neon.h>
int main(int argc, char* argv[])
{
return 0;
}

View File

@ -0,0 +1,26 @@
#include <stdint.h>
#ifdef CRYPTOPP_ARM_NEON_HEADER
# include <arm_neon.h>
#endif
// Keep sync'd with arm_simd.h
#include "../arm_simd.h"
int main(int argc, char* argv[])
{
// Linaro is missing a lot of pmull gear. Also see http://github.com/weidai11/cryptopp/issues/233.
const uint64_t wa1[]={0,0x9090909090909090}, wb1[]={0,0xb0b0b0b0b0b0b0b0};
const uint64x2_t a1=vld1q_u64(wa1), b1=vld1q_u64(wb1);
const uint8_t wa2[]={0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,
0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0,0xa0},
wb2[]={0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,
0xe0,0xe0,0xe0,0xe0,0xe0,0xe0,0xe0,0xe0};
const uint8x16_t a2=vld1q_u8(wa2), b2=vld1q_u8(wb2);
const uint64x2_t r1 = PMULL_00(a1, b1);
const uint64x2_t r2 = PMULL_11(vreinterpretq_u64_u8(a2),
vreinterpretq_u64_u8(b2));
return 0;
}

View File

@ -0,0 +1,13 @@
#include <stdint.h>
#ifdef CRYPTOPP_ARM_NEON_HEADER
# include <arm_neon.h>
#endif
int main(int argc, char* argv[])
{
uint32x4_t y = {0};
y=vsha1cq_u32(y,0,y);
y=vsha1mq_u32(y,1,y);
y=vsha1pq_u32(y,2,y);
return 0;
}

View File

@ -0,0 +1,13 @@
#include <stdint.h>
#ifdef CRYPTOPP_ARM_NEON_HEADER
# include <arm_neon.h>
#endif
int main(int argc, char* argv[])
{
uint32x4_t y = {0};
y=vsha256hq_u32(y, y, y);
y=vsha256h2q_u32(y, y, y);
y=vsha256su1q_u32(y, y, y);
return 0;
}

View File

@ -0,0 +1,19 @@
#include <stdint.h>
#ifdef CRYPTOPP_ARM_NEON_HEADER
# include <arm_neon.h>
#endif
// Keep sync'd with arm_simd.h
#include "../arm_simd.h"
int main(int argc, char* argv[])
{
// SHA3 intrinsics are merely ARMv8.2 instructions.
// https://developer.arm.com/architectures/instruction-sets/simd-isas/neon/intrinsics
uint32x4_t x={0}, y={1}, z={2};
x=VEOR3(x,y,z);
x=VXAR(y,z,6);
x=VRAX1(y,z);
return 0;
}

View File

@ -0,0 +1,17 @@
#include <stdint.h>
#ifdef CRYPTOPP_ARM_NEON_HEADER
# include <arm_neon.h>
#endif
int main(int argc, char* argv[])
{
// SHA512 hash
// https://developer.arm.com/architectures/instruction-sets/simd-isas/neon/intrinsics?search=SHA512
uint32x4_t w={0}, x={0}, y={0}, z={0};
w=vsha512hq_u64(x,y,z);
w=vsha512h2q_u64(x,y);
w=vsha512su0q_u64(x,y);
w=vsha512su1q_u64 (x,y,z);
return 0;
}

Some files were not shown because too many files have changed in this diff Show More